tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

Velká písmena na Firebirdu 1.5

18 Nov 2006 1 mins Firebird

Na konferenci jsem se dozvěděl, jaktože FB 1.5 občas správně provedl UPPER na národních znacích a někdy na to zarytě kašlal. Je to velice prosté – pokud je na sloupci definováno collate, funguje vše dobře. Když se použije defaultní, funkce UPPER nepřevede národní znaky dobře (no vlastně je nechá tak jak jsou 😉). FB 2 už má toto samozřejmě opraveno.

No a pojďme omrkat ukázku:

Vytvoříme tabulku:

create table test (col1 varchar(20) character set win1250 collate PXW_CSY, col2 varchar(20) character set win1250);

Vložíme data:

insert into test values ('ěščřžýáíé_aaa', 'ěščřžýáíé_aaa');

A zkouška:

select upper(col1), upper(col2) from test;
UPPER                UPPER
==================== ====================
ĚŠČŘŽÝÁÍÉ_AAA        ěščřžýáíé_AAA

A je hotovo. Funguje. Doufám, že tento malý tip pomůže. Nevím, kdo na to přišel první, já to však vím od Stefana Heymanna.

Profile Picture Jiří Činčura is an independent developer, .NET, C# and Firebird expert, focusing on data and business layers, language constructs, parallelism, databases and performance. He's Microsoft Most Valuable Professional and frequent speaker. You can read his articles, guides and tips and tricks at www.tabsoverspaces.com.