|
![]() |
#1 |
Участник
|
Пробовали, конечно. В последнем сообщении приведен тестовый пример, как можно посмотреть при каком Collation какой порядок сортировки будет. Например, при Cyrillic_General_CI_AS все "как положено". Пустое значение и пробел считаются самыми маленьким символами.
Бросается в глаза именно положение пустого значения и пробела, которые оказываются больше ряда символов (одиночный апостроф, дефис, длинные тире и др.). Ну, это вряд ли. Типичная ситуация, когда это вылезает - это сравнение на пустоту. Мало кому в голову приходит сравнивать символьные строки на больше/меньше. Более того, должно быть не просто сравнение на пустоту, но и содержимое поля должно начинаться с символа дефиса. Достаточно редкая ситуация Собственно, именно поэтому и не поменяли Collation на сервере. Просто не возникает проблемных ситуаций по данной причине. А там, где это надо учитывать (ну в очень специфических ситуациях) делаем специальный обход. Цитата:
Так понятно, что будет. Если пустое значение больше, чем дефис, то в выборку попадут все поля с пустым значением поля Последний раз редактировалось Владимир Максимов; 25.08.2010 в 19:58. |
|
![]() |
#2 |
Участник
|
Спасибо за информацию.
Цитата:
X++: select MyTab where MyTab.MyField И кстати, я считаю что для условия на пустоту/непустоту строкого поля правильнее писать X++: select MyTab where MyTab.MyField X++: select MyTab where MyTab.MyField != '' |
|