Potřeboval jsem odstranit diakritiku - většinou se to používá třeba na vyhledávání, kdy zadáme něco bez diakritiky a chceme najít výrazy i s diakritikou (třeba krize najde i kříže :-)). Co se týče vyhledávání, tak stačí použít collate - viz třeba článek na webu interval.cz.
Já jsem ale potřeboval něco trochu jiného - vzít data ze dvou sloupců a složit je dohromady, aby výsledek neobsahoval diakritiku. Nejdřív jsem tedy zkusil udelat vyraz typu:
jenže to mi nefungovalo. Na druhou stranu, výraz
fungoval. Nakonec jsem zjistil, že collate funguje
pouze pro varchar, zatímco tabulka používala nvarchar. Takže pokud někde používáte unicode, tak je zřejmě potřeba to ještě zkonvertovat. Na závěr malá ukázka:
create table #foo(
data nvarchar(
256
) collate Czech_CI_AS,
data2 nvarchar(
256
) collate Czech_CI_AS
)
GO
insert into #foo(data, data2) values('ýáí', 'ýáí')
select cast(data + data2 as varchar(
256
)) collate sql_latin1_general_cp1251_ci_as
from #foo
GO
drop table #foo
Syntax higlighted by Syntax highlighter, available at www.4ITDevelopers.net and www.JakNaWin.com
Informace ke stavu builder.cz zde
vytvořil Mi.Chal. 5.1. 2009 11:05, naposledy změněnil Mi.Chal. 5.1. 2009 11:06