SELECT
fcb.PharmacyKey as PharmID
,fcb.DateKeY as UploadDate
,fcb.RecordSource as Description
,fcb.Amount
FROM
dbo.FactCheckBookData fcb
WHERE
fcb.RecordSource in ('BeginningBalance')
AND convert(datetime, left(fcb.DateKey, 8),101) = DATEADD(MONTH, DATEDIFF(MONTH, 0, Convert(varchar(8), getdate(), 112)), 0)
Ошибка:SQL Server 2014 пытается создать индексированную мнение, однако я получаю следующую ошибку
Cannot create index on view 'dbo.view' because the view uses an implicit conversion from string to datetime or smalldatetime. Use an explicit CONVERT with a deterministic style value.
'Преобразование (VARCHAR (8), GETDATE(), 112) ', почему ?, вы должны просто использовать' GETDATE() ' – Lamak
Мне нужен вид для фильтрации на первый день месяца, поэтому почему getdate() не будет работать. – user2671286
@ Lamak говорит, что нет необходимости конвертировать дату в функцию 'DATEDIFF' (например, просто напишите' DATEDIFF (MONTH, 0, GETDATE()) '), но я сомневаюсь, что это является причиной вашей проблемы. – ZLK