Avatar billede eksperten1 Nybegynder
02. oktober 2002 - 09:29 Der er 13 kommentarer og
1 løsning

Alfabetisk DANSK sortering

I en MS SQl Server 2000 viljeg gerne have sorteret korrekt iflg. dansk alfabet, hvordan gør jeg det.

Som det er nu kommer Æ før end A, hvilket jo ødelægger det en del !

vhE1
Avatar billede x4all_dk Nybegynder
02. oktober 2002 - 09:34 #1
Er du sikker på at det ikke er:

Æ
a
b
c
Ø

Det er jo nok forskel på store/små bogstaver. (kan også være at deres hex-værdi er lavere end i det alfabet som MS sorterer i?)
Avatar billede eksperten1 Nybegynder
02. oktober 2002 - 09:44 #2
Jep, det er Æ A B C...
Avatar billede bennytordrup Nybegynder
02. oktober 2002 - 12:48 #3
Det afhænger af den collation order, der er valgt på installationstidspunktet (og kan bl.a. afhænge af operativsystemets sprog).

Du kan ved feltoprettelse i tabeller (create table) angive en bestemt sorteringsrækkefølge ved at bruge syntaxen collate SQL_Danish_Pref_CP1_CI_AS

(angiver dansk sortering)
Avatar billede eksperten1 Nybegynder
02. oktober 2002 - 13:27 #4
>benny Er det ikke muligt at ændre bagefter ?

vhE1
Avatar billede bennytordrup Nybegynder
02. oktober 2002 - 15:23 #5
alter table [tabelnavn]
alter column [feltnavn] varchar(50) collate sql_danish_pref_cp1_ci_as
Avatar billede bjorn_jeppesen Nybegynder
08. oktober 2002 - 12:43 #6
Bennys svar kan du gøre brug af hvis du opretter en ny tabel udfra et script. I de linier hvor tabellerne bliver oprettet skal du tilføje Bennys linie.
-B
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 12:44 #7
Fik du det til at virke?
Avatar billede eksperten1 Nybegynder
08. oktober 2002 - 12:46 #8
Jeg har forsøgt mig frem i Enterprise Manager, men kan ikke få det til at virke. Jeg kan ikke huske fejlmeddelsen men den kunne ikke ændre på tabellen.
Kan jeg "dublere" en tabel med ny egenskaber ?

vhE1
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 12:49 #9
Har du constraints (f.eks. default-værdier) defineret på feltet?

Prøv evt. at scripte tabellen gennem enterprice manager og lad os se.
Avatar billede eksperten1 Nybegynder
08. oktober 2002 - 13:01 #10
Øhh, scripte tabllen ??
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 13:03 #11
Hvis du har Query Analyzer, så vælg tabellen i objekt træet, højreklik og vælg Script Object to Clipboard as, Create

Derefter sætter du det ind i svarvinduet her.
Avatar billede eksperten1 Nybegynder
08. oktober 2002 - 13:05 #12
Smart! Her er hvad der kom ud...
vhE1
CREATE TABLE [db_pages] (
    [uid] [uniqueidentifier] NOT NULL CONSTRAINT [DF_db_pages_uid] DEFAULT (newid()),
    [ts] [datetime] NULL CONSTRAINT [DF_db_pages_ts] DEFAULT (getdate()),
    [ownerid] [uniqueidentifier] NULL ,
    [regionid] [uniqueidentifier] NULL ,
    [pagexml] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
    [pageno] [bigint] NULL ,
    [pagetitle] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
    [lastsave] [datetime] NULL CONSTRAINT [DF_db_pages_lastsave] DEFAULT (getdate()),
    [saveby] [uniqueidentifier] NULL ,
    CONSTRAINT [PK_db_pages] PRIMARY KEY  CLUSTERED
    (
        [uid]
    )  ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Avatar billede bennytordrup Nybegynder
08. oktober 2002 - 13:09 #13
alter table db_pages
alter column    pagetitle varchar(150) collate SQL_Danish_Pref_CP1_CI_AS

Denne ændrer sorteringen på pagetitle.

pagexml kan ikke ændres, da det er en text.
Avatar billede eksperten1 Nybegynder
08. oktober 2002 - 14:16 #14
Benny. Du er dagens mand i skysovs. (som min mormor ville have sagt, hvis hun vidste at man kunne alter column    pagetitle varchar(150) collate SQL_Danish_Pref_CP1_CI_AS, men det ved hun vist ikke.)

1000 tak.

Mark
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester