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

Променливи, чувствителни към малки и големи букви в SQL Server

Трябва да промените съпоставянето на сървъра на регистри, за да получите поведението, което искате. Само промяната на съпоставянето за db не е достатъчна.

Съпоставянето по подразбиране на инсталация на SQL Server, SQL_Latin1_General_CP1_CI_AS не е чувствителен към главни букви.

Изглежда, че искате да промените сортирането на вашия сървър към такъв, който не е чувствителен към главни букви. Изберете един с _CS . _CI означава „нечувствителност на главни букви ", а малките букви са чувствителни _CS . Може би ще искате Latin1_General_CS_AS .

Това е чудесен отговор на предишен въпрос относно Промяната на съпоставянето на SQL Server с нечувствително към главни и малки букви?

От SQL Server Books Online:

СОБИРАНЕ (Transact-SQL)

Съпоставянето на идентификатор зависи от нивото, на което е дефиниран.

  • Идентификаторите на обекти на ниво екземпляр, като данни за влизане и имена на база данни, се присвояват по подразбиране за сравнение на екземпляра.
  • Идентификаторите на обекти в базата данни, като таблици, изгледи и имена на колони, се присвояват по подразбиране за сортиране на базата данни.

    Например, две таблици с имена, различни само в случай, могат да бъдат създадени в база данни със съпоставяне, чувствително към малки и големи букви, но не може да бъдат създадени в база данни със съпоставяне, независимо от главните букви. За повече информация вижте Идентификатори на база данни.

  • Идентификаторите за променливи , Етикети GOTO ,временни съхранени процедури , ивременни таблици са в съпоставянето по подразбиране на сървърния екземпляр.

    Променливи, етикети GOTO, временни съхранени процедури и временни таблици могат да бъдат създадени, когато контекстът на връзката е асоцииран с една база данни и след това да се препратят, когато контекстът е превключен към друга база данни.

Можете да проверите вашия сървър съпоставяне с помощта на:

SELECT SERVERPROPERTY('collation');

SQL_Latin1_General_CP1_CI_AS
(1 row(s) affected)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да импортирате база данни на SQL Server в Access 2016

  2. Как да премахнете базата данни с помощта на TSQL и GUI - SQL Server / TSQL Урок, част 25

  3. Как мога да конвертирам отметки във формат за дата?

  4. Научете как да използвате SQL Server Management Studio

  5. Използвайте OBJECTPROPERTY(), за да разберете дали даден обект е ограничение CHECK в SQL Server