powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Странность len
8 сообщений из 8, страница 1 из 1
Странность len
    #38609366
len2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые гуру, запрос
Код: sql
1.
2.
3.
select len('`1m$fm#T#/>tH*:c|in>JAiW]_#oMgK`!~:#us2WFu7D_Xhi9KYGQE2-,uz-

)KE"L_9*HB7*`@L.q7P')


выдает 85, но невооруженным взглядом видно, что символов там 83 (что собственно и показывает делфевая функция Length). Такое ощущение, что символы переноса строки считаются за 2, не находите? Эта грабля документирована где-то?
...
Рейтинг: 0 / 0
Странность len
    #38609372
len2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для тех, кому лень считать, вот более наглядный вариант
Код: sql
1.
2.
3.
select len('

')


возвращает 4, хотя на самом деле 2
...
Рейтинг: 0 / 0
Странность len
    #38609374
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
len2 Такое ощущение, что символы переноса строки считаются за 2, не находите? Эта грабля документирована где-то?
http://ru.wikipedia.org/wiki/Перевод_строки#.D0.92_ASCII
...
Рейтинг: 0 / 0
Странность len
    #38609381
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
select CONVERT(VARBINARY(85),'`1m$fm#T#/>tH*:c|in>JAiW]_#oMgK`!~:#us2WFu7D_Xhi9KYGQE2-,uz-

)KE"L_9*HB7*`@L.q7P')

Обратите внимание на 61-й символ:
Код: sql
1.
2.
3.
select SUBSTRING(CONVERT(VARBINARY(85),'`1m$fm#T#/>tH*:c|in>JAiW]_#oMgK`!~:#us2WFu7D_Xhi9KYGQE2-,uz-

)KE"L_9*HB7*`@L.q7P'),61,24)

0x0D - "Carriage Return", 0x0A - "Line Feed"
...
Рейтинг: 0 / 0
Странность len
    #38609387
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap0x0D - "Carriage Return", 0x0A - "Line Feed"Эта пара символов - один из стандартов для перевода строки.
Так исторически когда-то сложилось у некоторых типов принтеров.
...
Рейтинг: 0 / 0
Странность len
    #38609397
len2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,
спасибо, значит chr(13) туда откуда-то попадает.
просто из делфи эта строка идет как
Код: pascal
1.
`1m$fm#T#/>tH*:c|in>JAiW]_#oMgK`!~:#us2WFu7D_Xhi9KYGQE2-,uz-'#$A#$A#$7F')KE"L'#$7F'_9*HB7*`@L.q7P


(то бишь #$D я в ней не наблюдаю). Но она каким-то каком туда попадает. Спасибо всем, буду смотреть откуда и почему.
...
Рейтинг: 0 / 0
Странность len
    #38609473
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
len2Для тех, кому лень считать, вот более наглядный вариант
Код: sql
1.
2.
3.
select len('

')


возвращает 4, хотя на самом деле 22 перевода строки, каждый по 2 символа.
len2спасибо, значит chr(13) туда откуда-то попадает.Из текстового редактора, которым вы сделали этот текст.
...
Рейтинг: 0 / 0
Странность len
    #38609911
len2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

дело было в дельфе, точнее в TWideStrings. При присвоении SQL.Text := строка содержащая chr(10) срабатывает SQL.Add(часть до chr(10)), потом добавляется пустая строка, соответственно появляется chr(13).
Спасибо iap, научил меня делать дамп в MS.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Странность len
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]