|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
Такая беда случилась Была процедура в которой работал запрос такого рода select * from asterisk.queue_log q where date(q.time) BETWEEN '2019-07-31' and '2019-08-01 23:59:59' and q.event like 'ADDMEMBER' Все работало но в какой то момент перестало. И теперь срабатывает только такой вариант (найдено опытным путем) select * from asterisk.queue_log q where date(q.time) BETWEEN '2019-07-31' and '2019-08-01 23:59:59' and q.event like '%ADDMEMBER' Дополнительных символов нет, Length возвращает 9. Для других значений event все работает корректно. Где собака порылась? Запрос стоял в триггере и часть данных соответственно не записалась. На данный момент поправили но хотелось бы понять причины. Хуже того появились еще более странные вещи select count(*) from asterisk.queue_log q where date(q.time) BETWEEN '2019-07-31' and '2019-08-01 23:59:59' возвращает 15. Когда делаешь выборку - записей несколько тысяч. База не моя, но так получилось поддержку сбросили на меня( чел уволился)... Может быть какое то повреждение таблицу/индексов? Mysql знаю слабо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 04:55 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
maldalikДополнительных символов нет, Length возвращает 9.Поневоле вопрос - какой [censored] вместо обычного сравнения использовал LIKE? maldalikМожет быть какое то повреждение таблицу/индексов? Начните с Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 07:13 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
AkinaПоневоле вопрос - какой [censored] вместо обычного сравнения использовал LIKE? видимо тот же который использовал авторdate(q.time) BETWEEN '2019-07-31' and '2019-08-01 23:59:59' ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 07:40 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
AkinamaldalikДополнительных символов нет, Length возвращает 9.Поневоле вопрос - какой [censored] вместо обычного сравнения использовал LIKE? maldalikМожет быть какое то повреждение таблицу/индексов? Начните с Код: sql 1.
'asterisk.queue_log', 'analyze', 'status', 'OK' Самое смешное что select * from asterisk.queue_log q where date(q.time) BETWEEN '2019-07-31' and '2019-08-01 23:59:59' and q.event='ADDMEMBER' тоже не прокатывает. :( Копировать из таблицы в условие тоже пробовал... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 07:49 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
maldalik , покажите полный DDL таблицы. А также покажите результат Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 09:29 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
Akina maldalik , покажите полный DDL таблицы. А также покажите результат Код: sql 1. 2. 3. 4. 5. 6.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Пришлось разбить на 2 запроса, иначе запрос пустой получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 11:01 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
автор`time` varchar(26) авторWHERE DATE(`time`) BETWEEN '2019-07-31' AND '2019-08-01' мне нравится ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 11:40 |
|
Некорректно работает Like
|
|||
---|---|---|---|
#18+
Выборка со вторым условием непуста. Выборка с обеими условиями пуста. Значит, все записи, соответствующие второму условию, не соответствуют первому, а т.к. соответствие второму исключает NULL, то все записи, соответствующие второму условию, соответствуют условию, которое инверсно первому, т.е. `event` = 'ADDMEMBER' . Если запрос с таким условием не возвращает данных - У Вас более серьёзная проблема, чем какие-то минорные косяки. Рекомендую выполнить дамп данных, после чего таблицу удалить, пересоздать, и вернуть в неё данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2019, 15:35 |
|
|
start [/forum/topic.php?fid=47&fpage=33&tid=1829030]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 426ms |
0 / 0 |