2015-06-18 3 views
0

Я пытаюсь создать вычисленный столбец для отображения количества дней между датой и датой в другом поле. Я попытался следующие:Дата Diff в вычисленном поле

DATEDIFF(d, @Now(), [NextServiceDate]) 

Но я получаю следующее сообщение об ошибке:

'Оборачиваемость активов Таблица - Ошибка проверки формулы для столбца «DaysTillService».

Я пробовал без @, но я получаю ту же ошибку.

+0

Мы должны видеть весь запрос. Отображаемая ошибка не связана с вашим примером кода – joehanna

+0

Это вся формула, которую я ввел в поле вычисленного столбца. Я получаю сообщение об ошибке при попытке сохранить изменения в таблице. – Spionred

ответ

1

Может быть, вы должны попробовать getdate():

DaysTileService as (DATEDIFF(day, getdate(), NextServiceDate)) 
+0

Исходя из вашего предложения, это сработало: (датированный (день, getdate(), [NextServiceDate])). Благодаря! – Spionred

0

@Now() является недействительным. Это смесь имени переменной (префикс @) и функция (()).

Попробуйте это:

DECLARE @Now DATETIME = GETDATE()

и изменить свой код:

DATEDIFF(d, @Now, [NextServiceDate])

+0

Вы не можете объявить в вычисленном поле? – Spionred

+0

Я думаю, что здесь есть смесь формулировок. 'Now()' является функцией VB. '@ Now' - просто переменная T-SQL – joehanna

+0

Да. Согласно предложению Гордона ниже функция getdate() работала. Спасибо за вашу помощь – Spionred

Смежные вопросы