4. 4. 2008

 

SQL Server - odstranění české diakritiky

Jak na ořezání české diakritiky v CHAR-ovém nebo VARCHAR-ovém sloupci nebo proměnné?

Přetypovat na VARCHAR stejné délky a využít toho, že např. ruská kódová stránka neobsahuje žádný znak s českou diakritikou:

SELECT CAST(Sloupec AS VARCHAR(8000)) COLLATE Cyrillic_General_CI_AS
FROM dbo.Tabulka

Příklad:

SELECT CAST('Příliš žluťoučký kůň úpěl ďábelské ódy' AS VARCHAR(8000)) COLLATE Cyrillic_General_CI_AS AS Vysledek


Vysledek
-----------------------------------------------------------
Prilis zlutoucky kun upel dabelske ody

(1 row(s) affected)


Funguje na SQL2000+.

Pozor, nefunguje pro Unicode typy NCHAR a NVARCHAR, tam by asi bylo jediné řešení napsat si funkci s konverzní tabulkou (á->a, č->c, ď->d atd.).

Štítky: