首页 > 解决方案 > 将 SQL Server 日期转换为 DB2 日期

问题描述

这是 db2 日期格式

 1190707 - CYYMMDD

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

我发现我可以使用

SELECT FORMAT(GETDATE(), 'yyMMdd')

但现在的问题是获得第一个我不知道它是什么的角色

标签: sql-serverdb2

解决方案


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)

推荐阅读