Avatar billede d_warma Nybegynder
04. maj 2004 - 13:57 Der er 1 kommentar og
1 løsning

Character Set spørgsmål

Hej,

Jeg sidder med to database i hver sit tegnsæt (et engelsk og et dansk). Det giver problemer med datoformatet MON-DD-YYYY, da oktober og maj staves forskelligt (OCT/OKT + MAY/MAJ).

-Kan man ændre tegnsæt efter oprettelse af databasen?
-Findes der en funktion, der tager højde for ovenstående forskel (formatet skal være MON-DD-YYYY)?
-Hvor finder jeg ud af hvilket specifikt tegnsæt baserne anvender?

Det er godt nok 3 spørgsmål, og selvfølgelig er der point for svar på hver enkelt spørgsmål.

Mvh
D_Warma
Avatar billede teepee Nybegynder
04. maj 2004 - 18:21 #1
Er det i visningen at du har problemer, for du kan jo altid selv lave formatteringen? Du kan runtime også bruge SET nls_lang, tror jeg det hedder. I basen er det jo ligemeget hvis du benytter date felter. En date er en date.
Avatar billede holdam Nybegynder
05. maj 2004 - 12:33 #2
Man kan godt lave om på databasens tegnsæt; i hvert fald hvis det nye tegnsæt er en udvidelse af det gamle. Det kan du gøre med kommandoen ALTER DATABASE CHARACTER SET. Desuden kan der være problemer med data i CLOBs hvis du går fra et single byte tegnsæt til et multibyte tegnsæt.

Hvis du gerne vil vide hvilke tegnsæt din database bruger, kan du anvende forespørgslen SELECT * FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET%' i SQL*Plus. Det kan f.eks. give følgende resultat:

PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_CHARACTERSET              WE8ISO8859P1
NLS_NCHAR_CHARACTERSET        AL16UTF16

Men jeg tror faktisk ikke dine problemer ligger i databasens tegnsæt, men snarere i formatteringen af dine date-variable/kolonner. Du kan enten ændre din NLS_LANG environment variabel (ligger i Registry, hvis du anvender Windows), f.eks. til DANISH_DENMARK.WEISO8859P1 (eller hvilket tegnsæt du nu ønsker).

Alternativt kan du ændre NLS_LANGUAGE for din session:

SELECT TO_CHAR(sysdate, 'MON-DD-YYYY') FROM dual;

TO_CHAR(SYS
-----------
MAY-05-2004


ALTER SESSION SET nls_language=DANISH;

TO_CHAR(SYS
-----------
MAJ-05-2004
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