У меня есть таблица со столбцом, который ранее был преобразован с помощьюнужно вычислить разницу дат даты сегодня против переоборудованного поля даты
(CONVERT(VARCHAR(19), GETDATE(), 112)
С GETDATE быть датой, когда поле было вставлено. Теперь мне нужно сравнить текущую дату с датой вставки поля. Проблема, с которой я столкнулся, заключается в том, что, когда поле даты находится в прошлом месяце, скажем, 20131004, я вычисляю разницу дат на (CONVERT (VARCHAR (19), GETDATE(), 112) - 20131004, результат 200. Очевидно, это это неправильно ... Не могли бы вы предложить мне, как я могу вычислить разницу истинную дату?
Почему вы не изменяете тип данных вправо ('DATE') вместо обращения к преобразованиям и из строки? Также прекратите использовать ленивую стенопись, например 'DATE1 - DATE2' (она не работает с типами данных, которые вы должны использовать с SQL Server 2008). Используйте 'DATEDIFF (DAY, column, GETDATE())'. Предполагая, что все ваши данные «хороши» (любые плохие данные могут попасть туда, когда вы используете неправильный тип данных), это должно работать без каких-либо преобразований. –
спасибо, но часы - это то, что таблица не была создана мной, и у меня нет доступа к тому, как вводится дата. Мне нужно иметь дело с тем, что у меня есть ... – user2669043