У меня возникли проблемы с этим, и я попробовал все здесь. Я знаю, что это просто ...SQL Compare INT to GETDATE
Наши даты хранятся как int в таблице. EX 20130409. Как мне заставить SQL возвращать даты, которые меньше сегодняшней даты?
Я использовал разные комбинации приведения и преобразования, но продолжаю получать ошибки переполнения или преобразование.
Вот некоторый последний код:
SELECT
DBO.SPSYS07.LOC_CODE,
CONVERT(DATETIME,CAST(DBO.SPSYS07.REQ_D_DATE AS CHAR(8)),101) AS [CONVERTED_REQ_DATE],
DBO.SPSYS07.REQ_D_DATE
FROM DBO.SPSYS07
WHERE SPSYS07.SHIP_DATE <= convert(int,convert(varchar(8),getdate(),112))
*** SQL *** это просто * Structured Query Language * - язык, используемый многими системами баз данных, но не аа продукт базы данных ... многие вещи конкретного производителя - поэтому нам действительно нужно знать, что ** система баз данных ** (и какая версия) вы используете .... –
Формат __101__ сильно отличается от __112 __... работает ли это, если вы закомментируете 'convert' в списке выбора ? –
Вы работаете с java/C#? вы можете закодировать преобразование вместо этого. – BrOSs