Я работаю в SQL Server 2014 Management Studio со сценариями SQL.
Моя проблема: у меня есть 2 переменные, которые возвращают дату и время, т.е. 2019-04-01 00: 00: 00.000, я пытаюсь добавить эти переменные в строку SQL, но когда я делаю это, формат теряется, и он конвертируется на это: 1 апреля 2019 12:00. Дата в этом формате не работает в моем сценарии SQL
Я пробовал несколько кодов преобразования и приведения, но это не работает вообще, вот что я получаю по переменной @InvoiceTrue
:
left join table1 payment on l.LedgerID = payment.LedgerID
left join table2 i on payment.InvoiceID = i.InvoiceID
where l.BusinessDate between 'Apr 1 2019 12:00AM' and 'Apr 7 2019 12:00AM'
order by l.LedgerID
Если вы посмотрите выше, формат даты и времени теряется.
Это мой код SQL:
Declare
@innerBeginDate datetime = '2019-04-01'
, @innerEndDate datetime = '2019-04-07'
, @InvoiceTrue varchar(max)
Select @InvoiceTrue = N'
left join table1 payment on l.LedgerID = payment.LedgerID
left join table2 i on payment.InvoiceID = i.InvoiceID
where l.BusinessDate between ''' + CAST(@innerBeginDate as varchar) + ''' and ''' + CAST(@innerEndDate as varchar) + ''' order by l.LedgerID'''
select @InvoiceTrue
Мне нужно сохранить тот же формат даты и времени после передачи параметра в строку, чтобы он всегда был 2019-04-01 00: 00: 00.000. Что я делаю не так?