Я пытаюсь преобразовать числовое значение на сегодняшний день. Я искать его найти ниже ответОшибка преобразования даты в SQL Server 2012
SELECT CONVERT(DATETIME, CONVERT(FLOAT, 41547))
выход, который я получил, это 2013-10-02 00: 00: 00,000
Но если я проверяю значение даты в первенствовать It дает мне 2013-09-30, что на 2 дня меньше, чем я получаю на SQL Server.
Пожалуйста, помогите мне понять это преобразование.
Как я могу получить 2013-09-30 вместо 2013-10-02 для числа .
Это, вероятно, связано с тем, вы отбрасываемой значение в 'float', который является приближенным тип данных. Если вы вместо этого добавили «целое», что вы получаете? – HoneyBadger
Я забыл изменить, я использую float, а int int дает мне тот же результат. – dreamer
Вы правы, я получаю те же результаты, что и для excel. Я не знаю, как excel делает преобразование, но я бы доверял sql-server больше ... – HoneyBadger