Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как исправить PATINDEX ASE 12.5.0.3 чтобы работало ASA 8.0.3.5002
|
|||
|---|---|---|---|
|
#18+
Народ, вот еще один глюк в расхождения в T-SQL по ASE 12.5.0.3 и ASA 8.0.3.5002 Для ASE обе строки вернут ноль '0', а для ASA почему-то в первый SELECT PATINDEX('%[:-я]%' возвращает 1 Код: plaintext 1. 2. 3. я не понимаю, как сделать чтобы в обеих ASA и ASE это работало одинаково. T-SQL сто лет назад был выверен, а глюки остались или я что то не корректно делаю? или в следующих версиях ASA это по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 12:18 |
|
||
|
Как исправить PATINDEX ASE 12.5.0.3 чтобы работало ASA 8.0.3.5002
|
|||
|---|---|---|---|
|
#18+
пришло в голову после обеда: Код: plaintext разбить на два подзапроса... Код: plaintext 1. P.S. Ошибка, прошедшая через много патчей становится фичей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 13:53 |
|
||
|
Как исправить PATINDEX ASE 12.5.0.3 чтобы работало ASA 8.0.3.5002
|
|||
|---|---|---|---|
|
#18+
BadgerP.S. Ошибка, прошедшая через много патчей становится фичей А это и есть не ошибка вовсе, а фича. Суть ее проста: вы пытаетесь сформировать паттерн для PATINDEX, исходя из последовательности кодов символов в charset'е, в то время как PATINDEX в ASA, также как и оператор LIKE, и так же как сортировка по ORDER BY, оперирует правилами сравнения символов, заданными параметром БД COLLATION. ASA 8.0.3 documentation - Маленькая цитата про LIKE A range of characters to look for is specified by giving the ends of the range inside square brackets, separated by a hyphen. <...> The range of characters [a-z] is interpreted as "greater than or equal to a, and less than or equal to z", where the greater than and less than operations are carried out within the collation of the database . Рассмотрим collation=1251CYR - цифры здесь действительно находятся после знаков препинания и перед буквами. Поэтому для грамотного составления паттернов полезно было бы изучить используемый в БД collation, выгрузив его с помощью утилиты dbcollat. Маленький пример, объясняющий ваш пример с PATINDEX: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2006, 01:15 |
|
||
|
Как исправить PATINDEX ASE 12.5.0.3 чтобы работало ASA 8.0.3.5002
|
|||
|---|---|---|---|
|
#18+
A.K.Маленький пример, объясняющий ваш пример с PATINDEX: Лучше даже так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 18:30 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34073538&tid=2012462]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 399ms |

| 0 / 0 |
