Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

219 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

28 maart 2024, 20:31:30

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: select from .. like met een 1 of meer quotes in de naam?  (gelezen 18771 keer)

0 leden en 1 gast bekijken dit topic.

Offline RPA
  • Net nieuw
  • *
  • Berichten: 2
  • Geslacht: Man
select from .. like met een 1 of meer quotes in de naam?
« Gepost op: 9 juni 2010, 19:17:48 »
Weet iemand hoe je met een like statement in SQL server 2008/2005 (volgens mij is het een algemeen probleem) kan maken indien je een naam zoekt met 1 of meerdere quotes in de naam?
 
Bijvoorbeeld iemand heeft L' Programmer, hoe maak je dan de like statement?
select * from relatie where relatienaam like '%L'%' wordt afgekeurd of
select * from relatie where relatienaam like "%L'%" wordt vanwege de dubbele quotes afgekeurd.
 
Is dit gewoon weg niet mogelijk of moet er een escape teken ergens staan?

Offline Ronald

  • Forum Manager
  • *****
  • Berichten: 1.856
  • Geslacht: Man
    • NL Computer Forum
Re: select from .. like met een 1 of meer quotes in de naam?
« Reactie #1 Gepost op: 9 juni 2010, 22:40:29 »
Hoi RPA,

Er zijn ongetwijfeld meerdere mogelijkheden, wat ik zelf zou doen:

set quoted_identifier off
select * from relatie where relatienaam like "%L'%"
set quoted_identifier on

Hiermee verander je tijdelijk het teken waarmee je het begin en einde van strings aangeeft. :)
Deze code werkt in ieder geval op SQL2000 en SQL2008, en dus zeer waarschijnlijk ook met SQL2005.

Succes!

Groeten,

Ronald
Forum Manager NL Computer Forum
Microsoft Certified Solutions Expert (MCSE) - Business Intelligence

Offline RPA
  • Net nieuw
  • *
  • Berichten: 2
  • Geslacht: Man
Re: select from .. like met een 1 of meer quotes in de naam?
« Reactie #2 Gepost op: 10 juni 2010, 07:39:16 »
Bedankt voor het antwoord, ik kende deze optie niet --> set quoted_identifier off

Offline Hugo

  • Erelid
  • *****
  • Berichten: 101
  • Geslacht: Man
Re: select from .. like met een 1 of meer quotes in de naam?
« Reactie #3 Gepost op: 15 oktober 2010, 12:13:24 »
Oei, ik ben hier al heel lang niet meer geweest, zie ik. *schaam*
Vreemd overigens dat ik geen notificatie heb gekregen van dit topic, ik had notificatie voor dit board wel aangezet.

Enfin, toch nog even een antwoord (voor mensen die hier via google terecht komen, want ik denk niet dat dit voor RPA nog relevant is).
De meest gebruikelijke manier om een single quote in een string op te nemen in SQL Server, is door de quote te verdubbelen. Dus:
DECLARE @Tekst varchar(20);
SET @Tekst = 'Brien O''Hare';
zal de variabele @Tekst vullen met de naam Brian O'Hare.

Bij een LIKE werkt dat precies zo:
select * from relatie where relatienaam like '%L''%'
--
Hugo Kornelis, SQL Server MVP

Offline Ronald

  • Forum Manager
  • *****
  • Berichten: 1.856
  • Geslacht: Man
    • NL Computer Forum
Re: select from .. like met een 1 of meer quotes in de naam?
« Reactie #4 Gepost op: 15 november 2010, 21:53:25 »
Hoi Hugo,

Nog zeer bedankt voor deze tip! :D

Groeten,

Ronald
Forum Manager NL Computer Forum
Microsoft Certified Solutions Expert (MCSE) - Business Intelligence