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
à la sortie de la requête.
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 requête donne des NULL au lieu de zéro. Malheureusement, quand j’ajoute la condition ISNULL… ça ne fonctionne pas par contre.
merci pour votre aide!!
Code : 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