Мне нужен SQL-запрос, чтобы все данные в столбце ВЕРХНИЙ РЕГИСТР?
Есть идеи?
Постоянный:
UPDATE
MyTable
SET
MyColumn = UPPER(MyColumn)
Временный:
SELECT
UPPER(MyColumn) AS MyColumn
FROM
MyTable
Если вы хотите обновить только строки, которые в настоящее время не являются прописными (а не все строки), вам нужно будет определить разницу, используя COLLATE
следующее:
UPDATE MyTable
SET MyColumn = UPPER(MyColumn)
WHERE MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS
Чувствительность к регистру зависит от ваших настроек сортировки и обычно по умолчанию нечувствительна к регистру.
Сортировку можно установить на уровне сервера, базы данных, столбца или запроса :
-- Server
SELECT SERVERPROPERTY('COLLATION')
-- Database
SELECT name, collation_name FROM sys.databases
-- Column
SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL
Имена сопоставления указывают, как строка должна кодироваться и читаться, например:
Latin1_General_CI_AS
→ Нечувствительность к региструLatin1_General_CS_AS
→ С учетом регистра