Как сделать столбец чувствительным к регистру в SQL 2005 или 2008 - PullRequest
13 голосов
/ 30 апреля 2009

Можно ли изменить параметры сортировки по умолчанию на основе столбца? я хочу сделать 1 столбец чувствительным к регистру, но все остальные не

Ответы [ 3 ]

18 голосов
/ 30 апреля 2009

ALTER TABLE ALTER COLUMN позволяет изменить параметры сортировки для одного столбца:

alter table Foo alter column Bar ntext collate Latin1_General_CS_AS 

(сортировка может быть неправильной)

2 голосов
/ 30 апреля 2009

Я не знаю SQL Server, но общепринятая практика СУБД (для совместимости) может быть либо:

  • поместите триггеры вставки и обновления в таблицу, чтобы они сохранялись в нужном вам случае.
  • используйте сгенерированные столбцы для хранения другой копии столбца в нужном вам случае.

Может быть более быстрый способ сделать это в SQL Server, но вы должны быть осторожны с решениями, которые загружают рабочую нагрузку в операторы SELECT - они никогда не масштабируются хорошо. Практически всегда лучше делать это как часть вставок и обновлений, так как это единственное время, когда данные изменяются - таким образом минимизируется дополнительная рабочая нагрузка.

0 голосов
/ 15 мая 2015

Ответ на ваш вопрос: да, уже было сказано выше Антон Гоголев .

Дополнительная информация:

Вот как вы можете найти список параметров сортировки, поддерживаемых вашим SQL Server, в зависимости от его версии.

select name, 
       COLLATIONPROPERTY(name, 'CodePage') as Code_Page, 
       description
from   sys.fn_HelpCollations()

что означает Kanatype Sensitive KS и ширина чувствительна

...