2010-07-21 5 views
0

Comment puis-je multiplier deux types dans SQL Server?Comment dans T-SQL pour multiplier deux types de données différents?

J'ai une colonne avec coût, dont le type de données est money, et une autre colonne integer qui a le nombre de ces produits.

Comment puis-je multiplier ces deux valeurs pour obtenir une valeur représentant le coût?

Exemple: $2000 * 2

+3

Avez-vous essayé? Et quel est votre problème? – Incognito

+3

J'espère que l'OP ne stocke pas le "argent" comme une chaîne '$ 2000', comme dans l'exemple –

+0

[CAST et CONVERT (Transact-SQL)] (http://msdn.microsoft.com/fr-fr/ library/ms187928.aspx) lisez la section 'Conversions implicites' –

Répondre

1
DECLARE @UNITS int 
DECLARE @UnitCost money 

SET @UNITS = 100 
SET @UnitCost = 2.20 

SELECT (@UNITS * CONVERT(decimal(18,2), @unitcost)) as Total 

Replace the @variables with your column names. 
+0

vous n'avez pas besoin du' CONVERT', ce travail est le même: 'SELECT @UNITS * @unitcost as Total' –

+0

Réalisé après que je l'ai écrit :) – JNK

4

Utilisation:

SELECT t.number_of_items * t.cost_of_item AS total_cost 
    FROM PRODUCTS t 
0

Dependantly des types implicite ou explicite convertion aura lieu (comme @KM a commenté).

La conversion implicite est effectuée automatiquement par SQL Server (ce qui est votre cas). Si ce n'est pas possible Erreur se produit.

La conversion explicite est effectuée par le développeur (dans le serveur SQL utilisant CAST ou CONVERT). Si la conversion n'est pas possible L'erreur se produit.

Pour plus d'informations, voir SQL Server CAST and CONVERT help.

Questions connexes