Вставка даты в таблицу добавляет дополнительную метку времени - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь вставить столбец в формате даты, например 2019-09-25, но всякий раз, когда я запускаю запрос, он добавляет к нему метку времени (2019-08-15T00: 00: 00.0000000), даже если я определилстолбец в формате «дата».Как я могу убедиться, что он показывает только дату?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Отметьте как показано ниже -

-- FUNCTION for Getting Azure DateTime as per our Time Zone
CREATE OR ALTER FUNCTION dbo.udf_getdate()
RETURNS DATETIME
AS 
BEGIN
    DECLARE @Current_DateTime DATETIME
    SELECT @Current_DateTime=SYSDATETIMEOFFSET() AT TIME ZONE 'India Standard Time'  -- IST Format.(give your timezone here)
    RETURN @Current_DateTime 
END
GO

-- DECLARE LOCAL VARIABLE AND GET THE RESULTS AS EXPECTED AND USE IT
DECLARE @CurrentDateTime DATETIME,@CurrentDate DATE;
SELECT @CurrentDateTime = dbo.udf_getdate();
SELECT @CurrentDate = CAST(@CurrentDateTime AS DATE);

SELECT @CurrentDateTime AS [CurrentDateTime],@CurrentDate AS [CurrentDate];
0 голосов
/ 25 сентября 2019

Есть несколько настроек, которые Oracle устанавливает от вашего имени.Одним из них является формат даты / времени.Ваш NLS_DATE_FORMAT по умолчанию в настоящее время настроен на возврат метки времени вместе с датой.Вам нужно только изменить сеанс, чтобы он возвращал только дату при получении столбца с типом данных DATE -

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...