|
Проблема с sql запросом
|
|||
---|---|---|---|
#18+
Добрый день, всем! Подскажите пожалуйста со следующим вопросом. Есть поле у меня datetime . Надо проверить его на пустоту. Вопрос очень несложный я понимаю, но что -то не могу понять. Т.е. хочу такое написать: where kart.dtsmp is not EMPTY() но это неправильно- выдает ошибку. и второе в этом же духе: это все должно быть, если второе текстовое поле больше равно 2019 года. т.е. второе поле - dtprov >= 2019 типа такого написать. Все в одном запросе. SELECT kart.*; from kart where kart.dtsmp is not EMPTY() and kart.dtsmp>= dtprov into smp.dbf Спасибо заранее большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 18:04 |
|
Проблема с sql запросом
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 20:10 |
|
Проблема с sql запросом
|
|||
---|---|---|---|
#18+
Использовать в условии WHERE функции можно, но не желательно, поскольку они, как правило, не оптимизируются. Т.е. будут тормозить запрос. В данном случае лучше использовать переменную. Даты вполне сравниваются на больше/меньше и, очевидно, не пустая дата всегда будет больше пустой Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 20:45 |
|
Проблема с sql запросом
|
|||
---|---|---|---|
#18+
Большое спасибо Дмитрий и Владимир! За детальное объяснение данного вопроса. Все понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2019, 07:42 |
|
Проблема с sql запросом
|
|||
---|---|---|---|
#18+
Извинюсь, написал, что вроде бы понял, а нет. Есть вопрос. У меня выдается ошибка в запросе. SELECT kart.*; from kart ; where kart.dtsmp > m.emptyDate AND TTOD(kart.dtgosp) >= m.yearValue; я не очень понимаю тут: AND TTOD(kart.dtgosp) >= m.yearValue - ошибка в этой строке. kart.dtgosp - тип datetime yearValue = 2019 - строковый тип. Я и последний тип перегоняю в строковый тоже не отрабатывает. Т.е. у меня не работает (на правильно отрабатывает строка): AND TTOD(kart.dtgosp) >= m.yearValue т.е. выдают записи где год и 2016 и т.д. - что неверно. Подскажите пожалуйста. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2019, 08:13 |
|
Проблема с sql запросом
|
|||
---|---|---|---|
#18+
dima_18я не очень понимаю тут: AND TTOD(kart.dtgosp) >= m.yearValue - ошибка в этой строке. kart.dtgosp - тип datetime yearValue = 2019 - строковый тип. при сравнении оба операнда должны быть одного типа, т.е. или yearValue числовой и берем год из даты Код: sql 1.
или yearValue должно быть datetime Код: sql 1. 2. 3.
Вместо <year> подставь переменную откуда год берется ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2019, 08:57 |
|
|
start [/forum/topic.php?fid=41&fpage=7&tid=1581663]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 364ms |
total: | 488ms |
0 / 0 |