2010-08-27 6 views
0
select myvalue from mytable where id=1; 

renvoie une valeur de 10 chiffres (Ex: 1234567890).
Je veux ces valeurs au format 1234.56.7890 comme valeur de retour.SQL: renvoie la valeur au format requis

signifie myvalue peut renvoyer la valeur dans le format requis et non dans le format stocké.

Quelqu'un peut-il m'aider? Vos idées sont très bienvenues

+0

Quel est le type de données de la colonne myvalue? –

+0

La colonne myvalue contient une valeur longue –

Répondre

3

Voici une alternative un peu déroutant:

SELECT REVERSE(
    INSERT(
    INSERT(REVERSE(1234567890), 5, 0, '.'), 
     8, 0, '.')) AS formatted; 

+--------------+ 
| formatted | 
+--------------+ 
| 1234.56.7890 | 
+--------------+ 

Cela fonctionne même pour les numéros plus courts - par exemple 123.

+0

Merci Mike ça marche –

0

Essayez d'utiliser la fonction Format.

+0

Je souhaite ajouter deux décimales entre mes valeurs. –

0

C'est une commande peu coûteuse. mais il ne fonctionnera que si votre décimale est fixe et myvalue est toujours va être 10 chiffres

SELECT LEFT(CONVERT(varchar(10),myvalue),4) + '.' + 
SUBSTRING(CONVERT(varchar(10),myvalue),5,2) + '.' + 
SUBSTRING(CONVERT(varchar(10),myvalue),7,4) 
+0

Toujours pas travailler anil, mais merci j'ai une idée .... –

Questions connexes