1

I have a table that contains country names in Turkish like "TÜRKİYE", "TUNUS" etc. I have a query that helps me search country names in that table. When I start searching with "TÜ" it brings me "TÜRKİYE" , "TÜRKMENİSTAN" etc. But when I type "TU" it brings "TUNUS" as it suppose to.

All I want here is , I type "TU" and it brings all results for "TÜRKİYE", "TÜRKMENİSTAN" and "TUNUS" etc. I have this problem with I->İ, O->Ö, S->Ş and all other Turkish specific characters.

My query:

SELECT "Countries"."countryName",
"Countries"."countryCode",
"Countries"."telephoneCode",
"Countries"."isIbanMantadatory"
FROM "Countries"
WHERE "Countries"."countryName" LIKE :"countryParams" || '%' AND
"Countries"."telephoneCode" LIKE :"telefonParams" || '%'
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459

1 Answers1

0

I found a way that solves that problem. I hope that helps :)

SELECT "Countries"."countryName",
  "Countries"."countryCode",
  "Countries"."telephoneCode",
  "Countries"."isIbanMantadatory"
FROM "Countries"
WHERE     (Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace("Countries"."countryName", "Ü", "u"), "ü", "u"), "G", "g"), "g", "g"), "S", "s"), "s", "s"), "I", "i"), "İ", "i"), "Ö", "o"), "ö", "o"), "Ç", "c"), "ç", "c")) LIKE (Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(:"countryParams ", "Ü", "u"), "ü", "u"), "G", "g"), "g", "g"), "S", "s"), "s", "s"), "I", "i"), "i", "i"), "Ö", "o"), "ö", "o"), "Ç", "c"), "ç", "c")) || '%' AND (Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace("Countries"."telephoneCode", "Ü", "u"), "ü", "u"), "G", "g"), "g", "g"), "S", "s"), "s", "s"), "I", "i"), "İ", "i"), "Ö", "o"), "ö", "o"), "Ç", "c"), "ç", "c")) LIKE (Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(:"telefonParams ", "Ü", "u"), "ü", "u"), "G", "g"), "g", "g"), "S", "s"), "s", "s"), "I", "i"), "i", "i"), "Ö", "o"), "ö", "o"), "Ç", "c"), "ç", "c")) || '%'