У меня есть база данных с информацией о событиях, включая дату (в формате MMDDYYYY). можно ли написать оператор SQL Server только для получения строк, которые попадают в определенный временной интервал?Как сделать условные заявления SQL Server?
что-то вроде этого псевдо-заявление:
SELECT * FROM events WHERE [current_date minus date <= 31] ORDER BY date ASC
где date
дата в строке SQL Server и current_date
сегодняшняя дата. 31
- это дни, поэтому в основном месяц.
Я могу легко обработать данные после обобщенного заявления (читай: SELECT * FROM events ORDER BY date ASC
), но было бы «круто» (как во мне узнать что-то новое: P), чтобы узнать, возможно ли это.
Я получаю ошибку арифметического переполнения при преобразовании столбца даты (строки, в формате mmddyyyy) в метку времени. есть ли функция, которую я могу назвать, например, CType (date, datetime)? – Anders
Попробуйте: convert (datetime, substring (date, 5, 4) + '-' + substring (date, 1, 2) + '-' + substring (date, 3, 2)) –