Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.06.2008, 17:33
|
|||
|---|---|---|---|
|
|||
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
Таблица: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Функция с ILIKE: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Если переписать, используя lower = lower: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Возвращает пустоту! ПОЧЕМУ? Пример вызова: select * from temp_samples_upsert('0D22C69728BE7FC7EEFFBC3E75EE8A7C0C13EBE4'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 17:53
|
|||
|---|---|---|---|
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
Тип поля SampleCS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 18:02
|
|||
|---|---|---|---|
|
|||
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
вон же, в таблице: "SampleCS" character(40) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 18:19
|
|||
|---|---|---|---|
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
Роберт, Вы знаете что дублированная одинарная кавычка внутри строки означает её эскейпинг ? Ваше выражение Код: plaintext преварщается в Код: plaintext в теле функции, то есть Вы сравниваете значение поля SampleCS приведённое к нижнему регистру с константной строкой 'SampleCS' так же приведённой к нижнему регистру :) ps: что бы избежать таких вот описок - используйте моноширинный шрифт в редакторе (тогда сразу видно что там две одинарных кавычки а не одна двойная) и специальный синтаксис определения строк - Код: plaintext -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 18:21
|
|||
|---|---|---|---|
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
Robert Ayrapetyanвон же, в таблице: "SampleCS" character(40)Да, не заметил. У меня обратная картина. Я, правда, не стал функции создавать. Сделал так: Код: plaintext 1. 2. 3. Код: plaintext находит: Код: plaintext находит: Код: plaintext НЕ находит Код: plaintext находит Код: plaintext Если же поле сделать character varying, то ILIKE тоже работает. Я считал, почему-то (видимо поэтому: If the string to be stored is shorter than the declared length, values of type character will be space-padded; values of type character varying will simply store the shorter string.), что character добивает значение пробелами до своей длины. Однако Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 18:23
|
|||
|---|---|---|---|
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
ЁшРоберт, Вы знаете что дублированная одинарная кавычка внутри строки означает её эскейпинг ?Млин, как всё просто. Нужно просто было быть чуть внимательнее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 18:24
|
|||
|---|---|---|---|
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
в догонку - называть параметры функции именами совпадающими с названием колонок в таблице с которой работает функция - это сознательно вносить дополнительную путаницу :) если Вам так хочется это делать - то тогда уж пишите полностью, как-то так: Код: plaintext -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.06.2008, 18:26
|
|||
|---|---|---|---|
|
|||
Почему a ILIKE b проходит, а lower(a) = lower(b) - нет? |
|||
|
#18+
спасибо... дело в том, что я пробовал вариант вообще без кавычек, и он не работал... сейчас, после Вашего ответа, заработал. Мистика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2004316]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 365ms |

| 0 / 0 |
