If you can’t find the answer that you’re looking for in our FAQ, don’t hesitate to contact us.
Yes, here is an example:
SQL>-- In Danish AA is a contraction equal to Å SQL>create table t(name varchar(10)); SQL>insert into t values(U&'Aller\00F8d'); SQL>insert into t values('Aalborg'); SQL>insert into t values('Århus'); SQL>select * from t where name like 'A%' collate danish_1; NAME ==== Allerød SQL>select * from t where name like 'Å%' collate danish_1; NAME ==== Aalborg Århus SQL>select * from t where name like 'AA%' collate danish_1; NAME ==== Aalborg Århus
See the following example:
SQL>create table t (names varchar(10)); SQL>insert into t values('van Gogh'); SQL>insert into t values('van Damme'); SQL>insert into t values('Janssen'); SQL>insert into t values('Ebermann'); SQL>insert into t values('de Luge'); SQL>-- Normal order using EOR default SQL>select * from t order by names collate eor; NAMES ========== de Luge Ebermann Janssen van Damme van Gogh SQL>-- Customize the EOR default collation SQL>create collation ignore_devan from eor SQL&using '[level 4][alternate shifted]&" "<<<de" "<<<van" "'; SQL>select * from t order by names collate ignore_devan; NAMES ========== van Damme Ebermann van Gogh Janssen de Luge
Here are some examples:
SQL>create table t (word varchar(10)); SQL>insert into t values('COOP'); SQL>insert into t values('coop'); SQL>insert into t values('COÖP'); SQL>insert into t values('coöp'); SQL>insert into t values('CO-OP'); SQL>insert into t values('co-op'); SQL>insert into t values('CO OP'); SQL>insert into t values('co op'); SQL>insert into t values('COTE'); SQL>insert into t values('COTÉ'); SQL>insert into t values('CÔTE'); SQL>insert into t values('CÔTÉ'); SQL>insert into t values('cote'); SQL>insert into t values('coté'); SQL>insert into t values('côte'); SQL>insert into t values('côté'); SQL> SQL>-- Accent and case insensitive search (level 1): SQL>select word from t where word = 'côte' collate french_1 SQL>order by word collate French_3; WORD ==== cote COTE côte CÔTE coté COTÉ côté CÔTÉ SQL>-- Accent sensitive and case insensitive search (level 2): SQL>select word from t where word = 'côte' collate french_2 SQL>order by word collate French_3; WORD ==== côte CÔTE SQL>-- Accent and case sensitive search (level 3): SQL>select word from t where word = 'côte' collate french_3 SQL>order by word collate French_3; WORD ==== côte SQL>-- The predefined collations does not ignore punctuation. SQL>-- Let's define collations that ignore punctuation and SQL>-- an accent, case, and punctuation sensitive collation (level 4). SQL>create collation french_1s from french_1 using '[alternate shifted]'; SQL>create collation french_2s from french_2 using '[alternate shifted]'; SQL>create collation french_3s from french_3 using '[alternate shifted]'; SQL>create collation french_4 from french_3s using '[level 4]'; SQL> SQL>-- Accent and case insensitive search (level 1): SQL>select word from t where word = 'co-op' collate french_1s SQL>order by word collate French_4; WORD ==== co op co-op coop CO OP CO-OP COOP coöp COÖP SQL>-- Accent sensitive and case insensitive search (level 2): SQL>select word from t where word = 'co-op' collate french_2s SQL>order by word collate French_4; WORD ==== co op co-op coop CO OP CO-OP COOP SQL>-- Accent and case sensitive search (level 3): SQL>select word from t where word = 'co-op' collate french_3s SQL>order by word collate French_4; WORD ==== co op co-op coop SQL>-- Accent, case, and punctuation sensitive search (level 4): SQL>select word from t where word = 'co-op' collate french_4 SQL>order by word collate French_4; WORD ==== co-op
For example, sorted in traditional Spanish order:
SQL>SELECT chardata FROM t ORDER BY chardata COLLATE spanish_traditional_3;
Observe that character data uses the ISO/IEC 8859-1 (Latin-1) encoding. If your data have used another encoding, you must translate it to Unicode and use the NCHAR datatype instead.
If you have a valid Mimer SQL support agreement you can be in touch with our support team in any way described at the Support and Training page, preferably the dedicated Support web can be used.
For example, sorting Swedish names in either Swedish or English (accent and case sensitive):
SQL>create table t (names nvarchar(30)); SQL>insert into t values('Arlanda'); SQL>insert into t values('Örebro'); SQL>insert into t values('Oskarshamn'); SQL>insert into t values('Ängelholm'); SQL>insert into t values('Malmö'); SQL>insert into t values('Stockholm'); SQL>insert into t values('Åmål'); SQL>-- You can speed up the sort with indexes! SQL>create index s on t(names collate swedish_3); SQL>create index e on t(names collate english_3); SQL>SELECT names FROM t ORDER BY names COLLATE swedish_3; NAMES ===== Arlanda Malmö Oskarshamn Stockholm Åmål Ängelholm Örebro SQL>SELECT names FROM t ORDER BY names COLLATE english_3; NAMES ===== Åmål Ängelholm Arlanda Malmö Örebro Oskarshamn Stockholm
For example, changing the sort order for tone marks in Vietnamese to GRAVE, HOOK ABOVE, TILDE, ACUTE, and DOT BELOW:
SQL>CREATE COLLATION new_vietnamese_3 FROM vietnamese_3 SQL>USING 'Ĭ#<<#0309#<<#0303#<<#0301#<<#0323#';
Look at the following example:
SQL>create table alphanum (codes varchar(10)); SQL>insert into alphanum values('A123'); SQL>insert into alphanum values('A234'); SQL>insert into alphanum values('A23'); SQL>insert into alphanum values('A3'); SQL>insert into alphanum values('A1'); SQL>-- Normal order [Numeric Off] SQL>select * from alphanum order by codes; CODES ========== A1 A123 A23 A234 A3 SQL>-- Numeric order [Numeric On] SQL>create collation numeric from eor using '[Numeric On]'; SQL>select * from alphanum order by codes collate numeric; CODES ========== A1 A3 A23 A123 A234
Of course, let us define a collation for Sango (with orthography from http://www.rosettaproject.org):
SQL>CREATE COLLATION sango FROM eor USING SQL>'&G<gb<<<Gb<<<GB' SQL>'&K<kp<<<Kp<<<KP' SQL>'&M<mb<<<Mb<<<MB<mv<<<Mv<<<MV' SQL>'&N<nd<<<Nd<<<ND<ng<<<Ng<<<NG<ngb<<<Ngb<<<NGB' SQL>'<ny<<<Ny<<<NY<nz<<<Nz<<<NZ';
For example, click on Maori to get the Maori Collation Chart, then click on Collation to get the CREATE COLLATION statement:
SQL>CREATE COLLATION maori FROM eor USING SQL>'&N'&W
To get the big picture of Mimer SQL you can turn to overall Mimer SQL website, or, if you want a more technical overview, read more about Mimer SQL on our Products page.
For questions about commercial licensing, pricing, products, support, consulting, training, etc. – please contact the Mimer SQL Sales Team or use our Contact page.
Our support center is open Monday to Friday 09:00 – 16:00 CET. Please be patient when posting an issue as staff may not be in the same timezone as you.