Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Группировка с учетом регистра  [new]
Heldar
Member

Откуда:
Сообщений: 16
Добрый день!
Подскажите, как сделать, чтобы GROUP BY учитывал регистр?
Т.е. записи вида "магазин" и "Магазин" считались как разные. Сейчас объединяет в одну.
26 июн 18, 21:23    [21523328]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с учетом регистра  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Heldar,

Используйте collate, как вариант https://stackoverflow.com/questions/10952696/how-to-do-a-case-sensitive-group-by
26 июн 18, 21:32    [21523343]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с учетом регистра  [new]
londinium
Member

Откуда: Киев
Сообщений: 1139
Heldar,
USE MASTER
GO

WITH CTE AS
(
  SELECT N'МАГАЗИН-1'COLLATE CYRILLIC_GENERAL_CS_AS  AS SHOP,100 AS CNT
   UNION ALL
  SELECT N'МАГАЗИН-1'COLLATE CYRILLIC_GENERAL_CS_AS  AS SHOP, -50 AS CNT
   UNION ALL
  SELECT N'магазин-1'COLLATE CYRILLIC_GENERAL_CS_AS  AS SHOP,600 AS CNT  
)
SELECT C.SHOP,SUM(C.CNT)XCOL
FROM CTE C
GROUP BY C.SHOP 
26 июн 18, 21:36    [21523352]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с учетом регистра  [new]
Heldar
Member

Откуда:
Сообщений: 16
aleksrov,

londinium,

Спасибо!!
27 июн 18, 12:15    [21524725]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с учетом регистра  [new]
iap
Member

Откуда: Москва
Сообщений: 46954
Лучше всего бинарный COLLATE:
COLLATE Cyrillic_General_BIN
Для UNICODE так:
COLLATE Cyrillic_General_BIN2
27 июн 18, 13:13    [21524995]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить