[SQL] SQL+ : "Supprimer" les "blancs" d'un champ dans un Select ?

SQL+ : "Supprimer" les "blancs" d'un champ dans un Select ? [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 15-03-2004 à 21:19:33    

Bonsoir,
C'est tout bête, mais j'y arrive pas.
J'ai un champ varchar(6). Les données (chiffres) sont alignés à droite (___XXX) ou (_XXXXX), etc
Si j'extrais les champs '256' avec un like '%256', il me sort les champs 4256, 256, ... Ce que je ne veux pas ...
En fait la variable est passée dans un query, dans un script php ... Si je POST 256, je ne dois avoir que les 256 ...
J'ai testé LTRIM et LDAP, mais rien ... :/


Message édité par Mosca le 15-03-2004 à 21:20:12
Reply

Marsh Posté le 15-03-2004 à 21:19:33   

Reply

Marsh Posté le 16-03-2004 à 10:08:16    

Avez-vous essayé la fonction

Citation :

REPLACE

?


Message édité par ludolitaliano le 16-03-2004 à 10:12:13

---------------
Ludolitaliano
Reply

Marsh Posté le 16-03-2004 à 11:14:02    

bonjour,
 
pourquoi utiliser un like alors que vous voulez précisément 256

Code :
  1. select *
  2. from ma_table
  3. where champ=256


devrait fonctionner
:??:

Reply

Marsh Posté le 16-03-2004 à 11:17:41    

Il faut être sur que ton paramètre ne contient pas de blanc non plus. Donc fait un LTRIM et RTRIM de chaque côté de ton =.

Reply

Marsh Posté le 16-03-2004 à 11:18:37    

select *  
from ma_table  
where LTRIM(RTRIM(champ))=LTRIM(RTRIM($parametre))

Reply

Marsh Posté le 16-03-2004 à 19:31:18    

dalcap a écrit :

bonjour,
 
pourquoi utiliser un like alors que vous voulez précisément 256

Code :
  1. select *
  2. from ma_table
  3. where champ=256


devrait fonctionner
:??:
 


 
Ben non, vu que le champ fait 6, et que 256 = 3
Si je devais faire 'égal' je ferais :

Code :
  1. select * from ma_table
  2. where champ = '   256'


Et jusqu'à présent je faisais toujours pareil avec un like, et ça fonctionnait tr!ès bien ...
 
Mais le prob vient de ce que la valeur est passée en paramètre d'un query dans un script php, et que cette valeur peut être XXX ou XX ou XXXX, etc, mais toujoyrs alignée à droite ...
Je vais essayer la dernière soluce ... :)
ThX


Message édité par Mosca le 16-03-2004 à 19:32:23
Reply

Marsh Posté le 16-03-2004 à 19:50:13    

Nickel ! Ca marche !
LTRIM(RTRIM(champ))=LTRIM(RTRIM($parametre))
Merci thecoin ! :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed