Запит SQL для внесення всіх даних у стовпець ВЕРХНЯ СПРАВА?


83

Мені потрібен запит SQL, щоб зробити всі дані у стовпці ВЕРХНІМ СПРАВОМ?

Будь-які ідеї?

Відповіді:


193

Постійний:

UPDATE
  MyTable
SET
  MyColumn = UPPER(MyColumn)

Тимчасовий:

SELECT
  UPPER(MyColumn) AS MyColumn
FROM
  MyTable

16

Якщо ви хочете оновлювати лише рядки, які на даний момент не є великими (замість усіх рядків), вам потрібно буде визначити різницю, використовуючи 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 → З урахуванням регістру
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.