Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
select LEN('а') и select LEN('а ') возвращают 1. Как от этого избавиться если нужна точная длина символьного выражения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2001, 07:36 |
|
||
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
select datalength('a ') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2001, 07:45 |
|
||
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
Sergey < Вы, часом, не проверочку на широту кругозора нашего затеяли? Вот выдержка их 3-го номера журнала SQL Magazine OnLine, за 2000г.: Использование функции len Вопрос. При запуске в SQL Server 7.0 приведенного ниже запроса в результате получается 0, в то время при запуске этого же запроса в SQL Server 6.5 получается 1. SELECT len(‘ ‘) Почему это происходит, и какой из ответов верен? Ответ. Функция len возвращает длину строки с удаленными «хвостовыми» пробелами. Поскольку в приведенной строке все пробелы являются хвостовыми, SQL Server их исключает (в соответствии с документацией на SQL Server 7.0) и совершенно верно возвращает значение 0. В версии SQL Server 6.5 функция len не поддерживалась корпорацией Microsoft. В Books Online сказано, что функция len “возвращает число знаков (а не количество байтов) в заданной строке, исключая хвостовые пробелы». Отметим, что SQL Server 7.0 корректно обращается с пустыми строками, а SQL Server 6.5 обычно воспринимает пустую строку как один пустой символ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2001, 14:58 |
|
||
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
Для Александра Гладченко, Извиняюсь конечно, но ничей кругозор я проверить не хотел,просто невнимательно читал документацию. Может заодно объясните почему 'a'='a ' и можно ли этого избежать? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2001, 06:15 |
|
||
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
Не знаю почему и как избежать, но обойти можно так: declare @a1 varchar(9),@a2 varchar(9) select @a1='a', @a2='a ' select 1 where @a1+'*'=@a2+'*' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2001, 07:40 |
|
||
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
Для SergSuper А если нужно чтобы по индексу выборку делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2001, 12:15 |
|
||
|
Сервер игнорирует хвостовые пробелы
|
|||
|---|---|---|---|
|
#18+
Вообще-то я не доктор А в данном случае индексы будут использоваться, это можно посмотреть по плану запроса. Что бы уж быть совсем уверенным можно писать так: select 1 where @a1+'*'=@a2+'*' and @a1=@a2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2001, 13:33 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3571&tid=1826568]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
19ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 294ms |

| 0 / 0 |
