Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy operator LIKE rozróżnia wielkość liter w MSSQL Server?

To nie operator rozróżnia wielkość liter, ale sama kolumna.

Podczas instalacji programu SQL Server do instancji wybierane jest sortowanie domyślne. O ile wyraźnie nie zaznaczono inaczej (sprawdź klauzulę collate poniżej), gdy tworzona jest nowa baza danych, dziedziczy sortowanie z instancji, a po utworzeniu nowej kolumny dziedziczy sortowanie z bazy danych, do której należy.

Zestawienie takie jak sql_latin1_general_cp1_ci_as dyktuje, jak należy traktować zawartość kolumny. CI oznacza niewrażliwy na wielkość liter, a AS oznacza wrażliwy na akcent.

Pełna lista zestawień jest dostępna pod adresem https://msdn.microsoft.com/en-us/library/ms144250(v=sql.105).aspx

(a) Aby sprawdzić sortowanie instancji

select serverproperty('collation')

(b) Aby sprawdzić sortowanie bazy danych

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

(c) Aby utworzyć bazę danych przy użyciu innego sortowania

create database exampledatabase
collate sql_latin1_general_cp1_cs_as 

(d) Aby utworzyć kolumnę przy użyciu innego sortowania

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

(e) Aby zmodyfikować sortowanie kolumn

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

Możliwa jest zmiana sortowania instancji i bazy danych, ale nie ma to wpływu na wcześniej utworzone obiekty.

Możliwa jest również zmiana sortowania kolumn w locie w celu porównania ciągów, ale jest to wysoce niewskazane w środowisku produkcyjnym, ponieważ jest to niezwykle kosztowne.

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. Jak mogę debugować EXCEPTION_ACCESS_VIOLATION w SQL Server 2008?

  2. Zaktualizuj wszystkie zduplikowane rekordy z wyjątkiem jednego w tabeli w SQL Server

  3. SQL Server 2017:importowanie danych CSV z systemu Linux do Salesforce za pomocą SSIS

  4. Tabela transpozycji

  5. SET a SELECT podczas przypisywania zmiennych?