SQL Modification conditionnelle d'un string en fonction de son contenu

SQL Modification conditionnelle d'un string en fonction de son contenu - SQL/NoSQL - Programmation

Marsh Posté le 22-07-2010 à 11:55:16    

Bonjour,
 
J'ai besoin de creer une requete SQL Server qui decoupe un String en fonction de son contenu:
 
Imaginez ces 2 strings:
- "blablabla1 HFR"
- "blablabla2 SQL"
 
J'aimerais pouvoir extraire un substring de cette facon:
 
IF UnString contient HFR -> select Substring(UnString) de 0 a l'index de HFR
IF UnString contient SQL -> select Substring(UnString) de 0 a l'index de SQL
 

Code :
  1. SELECT UnString,
  2.     NouveauString = CASE UnString
  3.           WHEN charindex('HFR', UnString) > 0 THEN substring(UnString,0,charindex('HFR', UnString))
  4.           WHEN charindex('SQL', UnString) > 0 THEN substring(UnString,0,charindex('SQL', UnString))
  5.           ELSE 'Neither'
  6.         END,
  7. FROM blabla
  8. WHERE blabla2


 
Il me dit que la syntaxe n'est pas bonne, pourtant tous les resultats google me donnent un code similaire... ou me suis-je trompé ?

Citation :

Line 3: Incorrect syntax near '>'.


 
Merci :jap:


Message édité par ParadoX le 22-07-2010 à 11:56:13

---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
Reply

Marsh Posté le 22-07-2010 à 11:55:16   

Reply

Marsh Posté le 02-08-2010 à 16:18:51    

Essaye ca:

Code :
  1. SELECT UnString,
  2.    NouveauString = CASE
  3.          WHEN charindex('HFR', UnString) > 0 THEN substring(UnString,0,charindex('HFR', UnString))
  4.          WHEN charindex('SQL', UnString) > 0 THEN substring(UnString,0,charindex('SQL', UnString))
  5.          ELSE 'Neither'
  6.        END
  7. FROM blabla
  8. WHERE blabla2

Reply

Marsh Posté le 03-08-2010 à 13:07:27    

Déjà c'est charindex(UnString, 'HFR') et non l'inverse.
http://msdn.microsoft.com/fr-fr/library/ms186323.aspx


---------------
>> Culture-Info : La culture informatique pour tous (projet scolaire) <<
Reply

Marsh Posté le 03-08-2010 à 13:33:40    

Ah voui aussi, mais c'etait pas la cause de son erreur de syntax :)

Reply

Sujets relatifs:

Leave a Replay

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