将SQL Server日期转换为DB2日期

时间:2019-07-08 14:19:21

标签: sql-server db2

这是db2日期格式

 1190707 - CYYMMDD

我希望能够将SQL Server DATE转换为这种格式

我发现我可以使用

SELECT FORMAT(GETDATE(), 'yyMMdd')

但是现在的问题是得到我不知道它是什么的第一个字符

2 个答案:

答案 0 :(得分:2)

C是一个世纪数字。它似乎是建立在20世纪的基础上,因此年份始于19。对于以20开头的年份,世纪位是1,而在20世纪则省略了世纪位。

这应该可以解决问题

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 :(得分:1)

我相信这可行

SELECT FORMAT(GETDATE(), 'yyyyMMdd') - 19000000