sql >> Database teknologi >  >> RDS >> Sqlserver

Er LIKE-operatøren forskel på store og små bogstaver med MSSQL Server?

Det er ikke operatøren, der skelner mellem store og små bogstaver, det er selve kolonnen.

Når en SQL Server-installation udføres, vælges en standardsortering til instansen. Medmindre andet udtrykkeligt er nævnt (tjek collate-klausulen nedenfor), når en ny database oprettes, arver den sorteringen fra instansen, og når en ny kolonne oprettes, arver den sorteringen fra den database, den tilhører.

En kollation som sql_latin1_general_cp1_ci_as dikterer, hvordan indholdet af kolonnen skal behandles. CI står for case insensitive og AS står for accent sensitive.

En komplet liste over samlinger er tilgængelig på https://msdn.microsoft.com/en-us/library/ms144250(v=sql.105).aspx

(a) For at kontrollere en forekomstsortering

select serverproperty('collation')

(b) For at kontrollere en databasesortering

select databasepropertyex('databasename', 'collation') sqlcollation

(c) At oprette en database ved hjælp af en anden sortering

create database exampledatabase
collate sql_latin1_general_cp1_cs_as 

(d) At oprette en kolonne ved hjælp af en anden sortering

create table exampletable (
    examplecolumn varchar(10) collate sql_latin1_general_cp1_ci_as null
)

(e) For at ændre en kolonnesortering

alter table exampletable
alter column examplecolumn varchar(10) collate sql_latin1_general_cp1_ci_as null

Det er muligt at ændre en instans og databasesorteringer, men det påvirker ikke tidligere oprettede objekter.

Det er også muligt at ændre en kolonnesortering med det samme for strengsammenligning, men dette er stærkt uanbefalet i et produktionsmiljø, fordi det er ekstremt dyrt.

select
  column1 collate sql_latin1_general_cp1_ci_as as column1
from table1


  1. Bruger MySQL med Android

  2. Sådan får du COUNT forespørgsel i django

  3. hvordan indstilles dato dag navn fra datepicker som kolonne navn i mysql database..?

  4. Udførelse af matematisk operation på midlertidig kolonne i SQL