Thread переехал: INT comparison without WHERE statementсравнения INT без WHERE
0
A
ответ
2
мелочи, у вас есть по крайней мере три синтаксических ошибок в запросе. После 0-го дня есть запятая, отсутствие финитной даты в датах() и знак двойного равенства. Что касается того, что вы пытаетесь выполнить, это может быть способ построения случая.
select case
when datediff(day, date1, date2) = 0 then 'Day 0'
when abs(datediff(day, date1, date2)) = 1 then 'Day 1'
else 'something else' end WhatDay
from etc
Возможно, вам нужно предложение where, чтобы вы не запрашивали всю таблицу. Делать это редко необходимо.
0
Если вам нужно несколько столбцов, то у вас есть только один реалистичный выбор, инструкция CASE
, но это грязно. Однако, с небольшим соединением, мы можем сделать его более чистым. Давайте предположим, что ключ для таблицы Id
, мы могли бы написать такое заявление:
SELECT t.*,
CASE WHEN i.diff = 0 THEN 'Day 0' ELSE NULL END AS Day0,
CASE WHEN i.diff = 1 THEN 'Day 1' ELSE NULL END AS Day1,
CASE WHEN i.diff = 2 THEN 'Day 2' ELSE NULL END AS Day2,
CASE WHEN i.diff = 3 THEN 'Day 3' ELSE NULL END AS Day3,
CASE WHEN i.diff = 4 THEN 'Day 4' ELSE NULL END AS Day4,
CASE WHEN i.diff = 5 THEN 'Day 5' ELSE NULL END AS Day5,
FROM table t
JOIN (
SELECT Id, DATEDIFF(
STR_TO_DATE(date, '%Y-%m-%d %H:%i:%s'), b.datetwo
) AS diff
FROM table
) i ON i.Id = t.Id AND i.diff >= 0 AND i.diff <= 5
С этим утверждением мы теперь знаем, что ведро каждая строка попадает; если значение не равно NULL
.
Смежные вопросы
- 1. Эффективность сравнения C++ int
- 2. MySQL JOINS без where where
- 3. PHP сравнения Int из базы данных с POST [Int]
- 4. SQL Query WHERE равно int или varchar без нарушения?
- 5. Целое число против сравнения int
- 6. Oracle/PL SQL/SQL null для сравнения where where
- 7. Как SELECT WHERE MySQL выполняет целые сравнения?
- 8. Сравнение даты сравнения в операторе WHERE
- 9. C++ как сортировать, используя метод сравнения без сравнения
- 10. Unsigned подписанному без сравнения
- 11. Определение сортировки без сравнения?
- 12. Дата сравнения без времени
- 13. Инициализация SortedDictionary без сравнения
- 14. Использование __IPHONE_OS_VERSION_MIN_REQUIRED без сравнения
- 15. Сортировка без сравнения элементов
- 16. Предотвращение mysql casting string для int в where where
- 17. linq dynamic where where with или condition на столбце INT
- 18. MySql Обновить запрос без предложения where vs with where where
- 19. PostgreSQL: Процент без WHERE
- 20. Эффективное поплавок INT без перелива
- 21. Как сделать IEqualityComparer для (int * int) [] выполнения структурного сравнения?
- 22. доктрина 2, где состояние без сравнения
- 23. функция сравнения должна возвращать int, недолго
- 24. Как работает оператор сравнения с нулевым int?
- 25. Нужно SELECT WHERE COUNT = INT в LINQ
- 26. Linq Where/OrderBy string to int
- 27. сравнение INT без ИНЕКЕ
- 28. Удалить с WHERE - дата, время и сравнения строк - очень медленно
- 29. Floating сравнения точки без допуска
- 30. QVariant подписал/без знака сравнения
Каким должен быть результат вашего запроса? –
Зачем вам это нужно, без чего? –
Вы не можете. Дело не в том, как работает SQL: вам нужно поместить его в предложение WHERE (которое все еще является частью выбора в целом). –