Bonjour,
question épineuse sur laquelle je ne trouve pas de réponses nulle part:
SOIT :
TRANSACTION_A de type varchar(80)
NO_TRANSACTION_A_PRIMAIRE de type INTEGER
Je veux que
Transaction A : T0104544
devienne
NO_TRANSACTION_A_PRIMAIRE : 104544
J’utilise dont cast (right(TRANSACTION_A,7) as int) .
LE PROBLÈME ... est que je ne veux pas avoir 0 quand la cellule est vide (je veux qu’elle reste vide). J’ai essayé plein de choses (IIF(), isnull() ), mais ça ne fonctionne pas. Je sais, oui : je transforme en INT, donc c’est logique qu’il veuille mettre un 0.
Cependant, il y a sûrement moyen de remplacer les 0 par des cellules vides
Cette requete donne des NULL au lieu de zero. Malheureusement, quand j’ajoute la condition ISNULL… ca ne fonctionne pas par contre.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT case when transaction_A <> '' then cast (right(TRANSACTION_A,7) as int) --else isnull (cast(right(TRANSACTION_A,7) as int),'') end from maTable
Partager