Я пытаюсь получить набор дат в определенном формате (ddmmyy), чтобы их можно было запускать на нескольких имеющихся у меня сценариях.
Мне удалось преобразовать дату в правильный формат, но когда я пытаюсь сохранить его как переменную, он просто возвращает нулевую или неформатированную дату.
DECLARE @CurrentDate SMALLDATETIME
SELECT @CurrentDate = getdate()
SELECT @CurrentDate = DATEADD(day, -1, @CurrentDate)
SELECT @CurrentDate = STR_REPLACE(CONVERT(varchar,@CurrentDate,3),'/',null)
--Returns this:
20-Mar-2002 00:00:00
DECLARE @CurrentDate SMALLDATETIME
SELECT @CurrentDate = getdate()
SELECT @CurrentDate = DATEADD(day, -1, @CurrentDate)
SELECT STR_REPLACE(CONVERT(varchar,@CurrentDate,3),'/',null)
--Returns this:
020320
Я считаю, что проблема заключается в том факте, что моя объявленная переменная объект smalldatetime, но я не уверен, как правильно преобразовать его в строку, которая может быть сохранена как переменная?
Я попытался создать вторую переменную и объявить ее как varchar, а затем сохранить свой дата как varchar, но это тоже не работает:
DECLARE @CurrentDate SMALLDATETIME
DECLARE @CurrentDateFinal VARCHAR
SELECT @CurrentDate = getdate()
SELECT @CurrentDate = DATEADD(day, -1, @CurrentDate)
SELECT @CurrentDateFinal = CAST(STR_REPLACE(@CurrentDate,'/',null) AS VARCHAR)
--Returns this:
03-Mar-2020 00:00:00