Преобразовать дату SQL Server в дату DB2 - PullRequest
0 голосов
/ 08 июля 2019

Вот формат даты db2

 1190707 - CYYMMDD

Я хотел бы иметь возможность преобразовать ДАТА SQL Server в этот формат

Я узнал, что могу использовать

SELECT FORMAT(GETDATE(), 'yyMMdd')

но проблема сейчас в том, чтобы получить 1-го персонажа, который я понятия не имею, что это такое

Ответы [ 2 ]

2 голосов
/ 08 июля 2019

C - это цифра века. И похоже, что оно основано на 20-м веке, то есть на годах, начинающихся с 19. Для лет, начинающихся с 20, цифра столетия равна единице, а для XX века цифра столетия опущена.

Это должно сработать

DECLARE @DateToConvert AS DATE
SELECT @DateToConvert = GETDATE()
--SELECT @DateToConvert = DATEADD(year, -100, GETDATE())

SELECT
    CAST(
        CONCAT(
            CAST((DATEPART(YEAR, @DateToConvert)/1000) AS INT)-1, 
            FORMAT(@DateToConvert, 'yyMMdd')
        ) AS BIGINT)
1 голос
/ 08 июля 2019

Я считаю, что это работает

SELECT FORMAT(GETDATE(), 'yyyyMMdd') - 19000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...