|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
Bonjour à tous
Je travaille sous SQL Server 2005 J'ai une table ActionClient qui contient une colonne Code de type nchar(10) Les données de cette colonne sont tirées d'une autre table qui est générée par un ERP. Chaque ligne de cette colonne comprend au moins 3 caractères et 2 chiffres, au maximum 8 caractères et 2 chiffres. Mais cette colonne peut aussi contenir des lignes de type number (la valeur d'un id auto incrémenté d'un contact n'appartenant pas encore à l'ERP). Une fois que le contact est enregistré dans l'ERP alors il a un code (caractères+2chiffres) que je mets à jour dans la colonne code. Je voulais savoir s'il était possible de faire un select sur cette colonne avec dans mon where une condition sur le type (pour obtenir que les actions des contacts non enregistrés en fait) et comment m'y prendre. Merci |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Outre la modélisation qui n'est pas conforme à la première forme normale, vous pouvez vous en sortir avec la fonction ISNUMERIC :
Code :
__________________
Email : http://scr.im/waldar |
||
|
10
|
|
|
#3 | ||||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour,
Vous voulez filtrer pour n'avoir que les lignes qui contiennent un nombre ? plusieurs pistes : Code SQL :
Code SQL :
EDIT : d’ailleurs elle ne renvoi pas juste les lignes dont la colonne est un nombre, mais dont le premier caractère est un chiffre ! cependant elle vous permettrait de récupérer les lignes dont la colonne contient 2 lettres majuscules suivies de 3 chiffres en mettant comme motif : '[A-Z][A-Z][0-9][0-9][0-9]' mais cela reste à adapter à vos données et à votre collation. ou encore : Code SQL :
|
||||||
|
|
10
|
|
|
#4 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Essayez : Code :
Si vous avez un besoin récurrent de rechercher de tels codes, alors faites une colonne calculée persistante En dehors de cela, l'utilité de l'utilisation du type nchar ne s'explique que si on stocke des caractères non latins dans cette colonne, ce dont je doute dans votre cas. En effet les types n[var]char utilisent Unicode, et donc deux octets par caractère. En passant en [var]char, on utilise ASCII, qui ne requiert qu'un seul octet par caractère ... mais ne permet de stocker que les caractères de l'alphabet latin @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
10
|
|
|
#5 |
|
Membre expérimenté
![]() Développeur informatique Inscription : janvier 2011 Messages : 309 ![]() |
Merci à vous 3, quelle réactivité
![]() Bien joué à Waldar qui devance aieeeuuuuu et elsuket d'une minute ![]() J'étais pas loin des solutions de aieeeuuuuu, mais c'était pas tout à fait ça bon en fait je ne vais pas avoir besoin de ça car j'avais une colonne typeContact (0 pour les contacts non enregistrés, 1 pour les enregistrés) qui m'était sortie de la tête mais merci quand même |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com