Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Операторът LIKE чувствителен ли е към малки и големи букви с MSSQL Server?

Не операторът е чувствителен към главни и малки букви, а самата колона.

Когато се извършва инсталация на SQL Server, за екземпляра се избира сортиране по подразбиране. Освен ако изрично не е посочено друго (проверете клаузата за сортиране по-долу), когато се създава нова база данни, тя наследява сортирането от екземпляра, а когато се създава нова колона, тя наследява сортирането от базата данни, на която принадлежи.

Съпоставяне като sql_latin1_general_cp1_ci_as диктува как трябва да се третира съдържанието на колоната. CI означава нечувствителен към главни и малки букви, а AS означава чувствителен към акцент.

Пълен списък на съпоставките е достъпен на https://msdn.microsoft.com/en-us/library/ms144250(v=sql.105).aspx

(a) За да проверите сортиране на екземпляр

select serverproperty('collation')

(b) За проверка на съпоставяне на база данни

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

(c) За да създадете база данни с помощта на различно сортиране

create database exampledatabase
collate sql_latin1_general_cp1_cs_as 

(г) За да създадете колона, като използвате различно сортиране

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

(e) За да промените сортирането на колони

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

Възможно е да промените сравнението на екземпляр и база данни, но това не засяга предварително създадени обекти.

Също така е възможно да промените сортирането на колони в движение за сравнение на низове, но това е силно непрепоръчително в производствена среда, защото е изключително скъпо.

select
  column1 collate sql_latin1_general_cp1_ci_as as column1
from table1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да получа списък с имена на елементи от XML стойност в SQL Server

  2. Каква е употребата на квадратните скоби [] в sql операторите?

  3. Как да форматирам число със запетаи в T-SQL?

  4. ОПИТАЙТЕ CATCH със свързан сървър в SQL Server 2005 не работи

  5. SQL заявка за намиране на липсващи поредни номера