powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Странное поведение charindex
5 сообщений из 5, страница 1 из 1
Странное поведение charindex
    #36950216
MichaelTim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понятное поведение. Подскажите что не так.
Имеем

Adaptive Server Enterprise/12.5.4/EBF 16800 ESD#10/P/x86_64/Enterprise Linux/ase1254/2159/64-bit/OPT/Mon Nov 2 03:14:39 2009


Код: plaintext
1.
2.
3.
4.
begin
declare @str varchar( 100 ), @from varchar( 100 ), @to varchar( 100 )
select @str = 'aaaaaa $e.macro$ bbbbb',@from = '$e.macro$',@to = '1000'
select patindex('%'+@from+'%', @str),charindex(@from,@str)
end

Выдает
8;7

Добавляем пробелов перед макросом

Код: plaintext
1.
2.
3.
4.
begin
declare @str varchar( 100 ), @from varchar( 100 ), @to varchar( 100 )
select @str = 'aaaaaa   $e.macro$ bbbbb',@from = '$e.macro$',@to = '1000'
select patindex('%'+@from+'%', @str),charindex(@from,@str)
end

Результат
10;7

Убираем пробелы
Код: plaintext
1.
2.
3.
4.
5.
begin
declare @str varchar( 100 ), @from varchar( 100 ), @to varchar( 100 )
select @str = 'aaaaaa$e.macro$ bbbbb',@from = '$e.macro$',@to = '1000'
select patindex('%'+@from+'%', @str),charindex(@from,@str)
end

Результат наконецто одинаковый
7;7

Может и глупый вопрос, но както странно.
Соответственно и функция str_replace видимо использует charindex и работает криво.

Пните в нужную сторону :)
...
Рейтинг: 0 / 0
Странное поведение charindex
    #36950226
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не подтверждаю.

Adaptive Server Enterprise/15.0.3/EBF 17162 ESD#3/P/RS6000/AIX 5.3/ase1503/2726/64-bit/FBO/Thu Feb 4 21:48:22 2010
...
Рейтинг: 0 / 0
Странное поведение charindex
    #36950258
MichaelTim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на 12 кто-то может проверить?
Интересно с чем такое может быть связано.

White Owl - а какая кодовая страница в бд? Везде выдает одинаковый результат для обоих функций? С учетом пробелов?
...
Рейтинг: 0 / 0
Странное поведение charindex
    #36950293
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MichaelTimWhite Owl - а какая кодовая страница в бд? Везде выдает одинаковый результат для обоих функций? С учетом пробелов?Кодовая страница? А что это такое? :) У меня в базах только английский, так что подозреваю что CP стоит по умолчанию 850-ая. Как это проверить то?
Но в принципе, переписывание @str и @macro кириллицей и запуск из стандартного dbisql ничего не изменило - результаты функций совпадают.
...
Рейтинг: 0 / 0
Странное поведение charindex
    #36951021
MichaelTim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ASE это не в базе, а в сервере

Код: plaintext
select * from master..sysconfigures where name ='default character set id'

configvaluecommentstatusnameparentvalue2value3value4131190default character set id1029default character set id6[NULL][NULL]-1

Код: plaintext
select * from master..syscharsets where id= 190 

name=utf8
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Странное поведение charindex
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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