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

Откуда: из России
Сообщений: 901
Делаю выборку с группировкой с условием max(строкове поле).
Почему то выбирается значение, которое не наибольшее. если смотреть через len() длину строки, то максимальное совсем другое поле.
В чем подвох или что пропустил при работе max на строковых полях?
26 окт 11, 18:09    [11504997]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
iljy
Member

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

? а какая связь между max и len??
26 окт 11, 18:11    [11505005]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Slava_Nik
Делаю выборку с группировкой с условием max(строкове поле).
Почему то выбирается значение, которое не наибольшее. если смотреть через len() длину строки, то максимальное совсем другое поле.
В чем подвох или что пропустил при работе max на строковых полях?


Забавно понимаете принципы сортировки
26 окт 11, 18:12    [11505009]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Slava_Nik,

длина при сравнении играет роль, если одна строка является подстрокой другой строки.
26 окт 11, 20:31    [11505672]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
iap
Slava_Nik,

длина при сравнении играет роль, если одна строка является подстрокой другой строки.
Точнее даже не подстрокой, а префиксом другой строки.
26 окт 11, 20:32    [11505674]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
мне нужно сложить строки , делаю через CTE как в FAQ https://www.sql.ru/faq/faq_topic.aspx?fid=130 ,
по запросу(в примере select [Тип], max([Имя]) names from tr group by [Тип]), выдается строки с не наибольшей длиной символов.

а len использовал, т.к проверить кол-во символов в строках.
27 окт 11, 09:47    [11506700]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Slava_Nik
мне нужно сложить строки , делаю через CTE как в FAQ https://www.sql.ru/faq/faq_topic.aspx?fid=130 ,
по запросу(в примере select [Тип], max([Имя]) names from tr group by [Тип]), выдается строки с не наибольшей длиной символов.

а len использовал, т.к проверить кол-во символов в строках.
Как по-Вашему сравниваются строки?
Напишите вкратце, пожалуйста.
А то мне кажется, что Вы ответы не читаете.

Вы видите разницу между строкой и длиной строки?
27 окт 11, 09:53    [11506734]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
И что Вы называете "длиной символов"?
27 окт 11, 09:54    [11506741]     Ответить | Цитировать Сообщить модератору
 Re: Как работает max с nvarchar  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
тьфу ты разобрался, выбрал CTE без группировки, понял, что строки складываются в обрадном порядке
27 окт 11, 10:39    [11506976]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить