Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
DECLARE@NamesTABLE(
nameVARCHAR(20)
);
INSERTINTO@NamesVALUES
('DeSzmetch'),('DESZMETCH'),('DESZMETCK'),('DesZmetch'),('deszmetch');
SELECT
name,
RANK()OVER(ORDERBYnameCOLLATELatin1_General_BIN)AS[LatiiiBIN],
RANK()OVER(ORDERBYnameCOLLATETraditional_Spanish_CI_AS)AS[TraiiiCI_AS],
RANK()OVER(ORDERBYnameCOLLATELatin1_General_CS_AS)AS[LatiiiCS_AS],
RANK()OVER(ORDERBYnameCOLLATELatin1_General_CI_AS)AS[LatiiiCI_AS],
RANK()OVER(ORDERBYnameCOLLATEHungarian_CI_AS)AS[Huniii_CI_AS]
FROM@Names
ORDERBYnameCOLLATELatin1_General_BIN;
Powyższyfragmentgenerujenastępującewyniki:
name
LatiiiBIN
TraiiiCI_ASLatiiiCS_ASLatiiiCI_ASHuniii_CI_AS
---
---
---
----
---
---
-----
---
---
-----
---
---
-----
---
---
-----
---
---
---
DESZMETCH
1
2
4
1
2
DESZMETCK
2
1
5
5
5
DeSzmetch
3
2
3
1
2
DesZmetch
4
2
2
1
1
deszmetch
5
2
1
1
2
Jakzatemwidaćzprzedstawionychwyników,nieistniejejeden,poprawnysposóbusze-
regowaniawkolejnościalfabetycznejnazwDeSzmetch,DESZMETCH,DESZMETCK,
DesZmetchideszmetch.
Należywszczególnościpodkreślić,żeszeregowaniewkolejnościalfabetycznejnie
musikoniecznieoznaczaćporządkowaniałańcuchówznakowychznakpoznaku.Trze-
bazrozumieć,żewjęzykuT-SQLniemożnaoczekiwać,żepokazaneponiżejdwie
formyklauzuliORDERBYzapewniąotrzymanietakichsamychrezultatów,mimożedla
niektórychkolejnościsortowaniatakwłaśniebędzie:
ORDERBYstring;
ORDERBY
SUBSTRING(string,1,1),
SUBSTRING(string,2,1),
iii
Trychotomia(trójpodział)
Dladanychdwóchliczbrzeczywistychxiy,xjestalbomniejsze,alborówne,albo
większeody.Tafundamentalnawłaściwośćliczbrzeczywistych,żezawszeprawdziwe
jesttylkojednozezdańx<y,x=yix>ynosinazwęprawatrychotomii(trójpodziału).
Kolejnośćindukowana
Operatorporównania<jesttym,copozwalanamuporządkowaćwkolejnościliczby
rzeczywisteczyliposortowaćje.Innymsposobempowiedzeniategosamego,jest
Teoriazbiorów
69