Blog de Portekoi : Programmation et Astuces

Programmation Cobol, Php, Asp, Java et DotNet…

février, 2013

[SQL Server] Rechercher une chaine de mots dans une table

Aujourd’hui, j’ai été confronté à cette demande :

D’un côté, j’ai une table avec deux colonnes : N° de Client | Nom – Prénom
Les données sont enregistrées de cette manière :

0123456789 | Damien David Thomas
1234512144 | Igor Bastien Guillaume
9874125621 | Marc Patrick

De l’autre, une table avec une seule colonne : Nom – Prénom
Les données sont sous cette forme :

Damien
Patrick
Marc

Sous SQL Server, la fonction CHARINDEX() permet de faire un équivalent de « Strpos » pour PHP ou « InStr » pour ASP. Mais le problème est qu’elle s’arrête à la première occurrence trouvée.

Par exemple, si je fais un :

DECLARE _at_temp as varchar(50);
SET _at_temp = « Damien David Thomas »;
Print SUB_STRING(_at_temp, 0, CHARINDEX( » « ,rtrim(_at_temp) +  » « )+1) //Enlever le ‘_’ de sub_string. Je sais pas pourquoi mais WP […]