/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Store og små bogstaver i LIKE
Fra : Torben Thomsen


Dato : 06-04-06 13:19

Jeg har et projekt, hvor jeg har konvertere en MS Access database fra MDB
til ADP. Hvor jeg før brugte en Access database som backend til at bruge en
MS SQL Server 2000.

Mit problem er at før når jeg brugte LIKE i en Where sætning var der ikke
forskel på store og små bogstaver. Men det er der nu.

Eksempel ved Access som backend:
Where Efternavn Like 'th*'
Resultat:
Thomsen
THOMSEN
thomsen

Eksempel ved MS SQL server:
Where Efternavn Like 'th%'
Resultat:
thomsen

Er der en måde hvor man kan få MS SQL til at komme med samme resultat som da
jeg brugte Access som backend?

VH

Torben Thomsen



 
 
Jens Gyldenkærne Cla~ (06-04-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-04-06 13:48

Torben Thomsen skrev:

> Eksempel ved MS SQL server:
> Where Efternavn Like 'th%'
> Resultat:
> thomsen
>
> Er der en måde hvor man kan få MS SQL til at komme med samme
> resultat som da jeg brugte Access som backend?

Ja - du skal bruge en collation der ikke er versalfølsom.

Du kan gøre det direkte i forespørgslen:

   WHERE Efternavn LIKE 'th%' COLLATE DANISH_NORWEGIAN_CI_AI

- men det er noget lettere hvis du sørger for at oprette databasen
med den rigtige collation fra start. Det er desværre ikke så enkelt
at skifte når først en database er oprettet, men hvis du kan
oprette den igen (evt. kopiere data over i en midlertidig base og
så importere til den nye), er det ikke så slemt.

SQL-server indeholder et hav af forskellige collations. Dem der er
relevant i forhold til danske tekster, starter med
DANISH_NORWEGIAN_ ...
Herefter følger et eller flere "efternavne" der angiver hvilken
undertype af sortering der anvendes.

BIN betyder binær sammenligning

CI står for Case Insensitive - altså ikke versalfølsom (a = A)
CS er Case Sensitive / versalfølsom (a <> A)
AI står for Accent Insensitve - (é = e, ã = a)
AS er så Accent Sensitive (é <> e, ã <> a)

En collation er enten binær - DANISH_NORWEGIAN_BIN - eller en
sammensætning af Case- og Accent-koderne: DANISH_NORWEGIAN_CI_AI,
DANISH_NORWEGIAN_CS_AS, DANISH_NORWEGIAN_CI_AS,
DANISH_NORWEGIAN_CS_AI.

Der findes en trejde modifikator, men den er ikke relevant for
vesteuropæiske sprog.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Torben Thomsen (06-04-2006)
Kommentar
Fra : Torben Thomsen


Dato : 06-04-06 15:15

Tak.

VH

Torben Thomsen



Søg
Reklame
Statistik
Spørgsmål : 177458
Tips : 31962
Nyheder : 719565
Indlæg : 6408173
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste