Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[SQL Server] Negeren van speciale karakters in where clause

Pagina: 1
Acties:
  • 137 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Heb een tabel waarin een zooi tekst staat. Die tekst bevat onder andere veel karakters met een umlaut (zoals ë), of andere 'speciale' karakters.

Hoe krijg ik nu alle resultaten uit mijn tabel terwijl ik in de zoekterm toch niet het speciale karakter noem.

Dus: als ik zoek op 'commerciele' wil ik dat de LIKE query ook 'commerciële' vind.

Enig idee hoe ik dat aanpak? Heb me nl al suf gezocht, maar kom geen steek verder. Lijkt me toch een vaak voorkomende situatie?

PS: maak gebruik van SQL Server 2000 SP4

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:05
Kijk eens naar de SOUNDEX functie.

Ik weet wel niet of dit dé oplossing is voor je probleem. SOUNDEX gaat nl. wel wat verder dan enkel de trema's bv eruit laten.
Dit bv:
code:
1
2
3
select soundex('commerciele')
select soundex('commerciële')
select soundex('commercial')
Geeft allemaal eenzelfde returnwaarde, waardoor je dus commercial ook als 'commerciele' zult gaan beschouwen.

[ Voor 83% gewijzigd door whoami op 03-08-2007 22:52 ]

https://fgheysels.github.io/


  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 25-11 01:01
Of handiger, collations gebruiken.
SQL:
1
2
select case when 'a' = 'á' collate latin1_general_ci_ai then 1 else 0 end
,case when 'a' = 'á' collate latin1_general_ci_as then 1 else 0 end

geeft als resultaat:
10