2009-11-17 8 views
0

J'ai cette requêteSQL séparateur décimal

SELECT LEFT(CONVERT(VARCHAR, CAST(RUNNING_BALANCe AS MONEY), 1), LEN(CONVERT(VARCHAR, CAST(RUNNING_BALANCe AS MONEY), 1)) - 1) 
from load_transaction_history 
WHERE [POSTED_ON] between '2008-06-10' and '2008-06-15' and account_number='12345678' 
order by posted_on 

Maintenant, le problème est que les ammounts i ger sont comme autant 6,471,538.30 étant cependant en Europe, je veux les séparateurs décimaux comme si

6.471.538, 30 ... est-il un moyen de le faire est SQL ... J'ai essayé de copier coller dans Excel mais le formatage ne fonctionne pas .....

Répondre

1

Pour votre connexion dans le serveur SQL définir la langue par défaut à quelque chose d'européen.

+0

ne marche pas nope work..doubt il doit faire avec le réglage dans SQL2005 ou mes paramètres régionaux essayé que ... je me demande si vous connaissez un moyen de convertir ce résultat en Excel,. ,, comme dans SQL le montant est stocké comme quelque chose comme ça 146275.7000000 –

+0

Vous pouvez définir separa décimal Excel vers un symbole différent (au moins dans Excel 2007). Et si vous utilisez Excel, vous pouvez interroger les valeurs numériques directement, sans les convertir en varchar - évite les problèmes de paramètres régionaux. – Arvo

0

Je pense que vous devez modifier les paramètres régionaux utilisant this

SET LANGUAGE British English

+0

il est en enlish..still même résultats –

+0

@Andreas: désolé qu'en anglais britannique – RageZ

+0

Ce n'est pas la langue les gars ... rien à voir avec ça, je suis en quelque sorte à la recherche d'une fonction en SQL –

0

Vous pouvez toujours les remplacer simplement vous-même:

SELECT LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, CAST(RUNNING_BALANCe AS MONEY), 1), '.', '$'), ',', '.'), '$', ','), LEN(CONVERT(VARCHAR, CAST(RUNNING_BALANCe AS MONEY), 1)) - 1) 
from load_transaction_history 
WHERE [POSTED_ON] between '2008-06-10' and '2008-06-15' and account_number='12345678' 
order by posted_on 
Questions connexes