问题
在 SSIS 表达式中,没有可用于更改日期格式的函数
解决方案
您可以使用? : 条件来实现此目的。 Microsoft Docs article
以下表达式可用于将GETDATE()函数返回的日期值转换为dd-MMM-yy格式:
RIGHT("0" + (DT_STR, 2, 1252) DATEPART("dd" , GETDATE()), 2) + "-" +
(DATEPART("mm" , GETDATE()) == 1 ? "JAN" :
DATEPART("mm" , GETDATE()) == 2 ? "FEB" :
DATEPART("mm" , GETDATE()) == 3 ? "MAR" :
DATEPART("mm" , GETDATE()) == 4 ? "APR" :
DATEPART("mm" , GETDATE()) == 5 ? "MAY" :
DATEPART("mm" , GETDATE()) == 6 ? "JUN" :
DATEPART("mm" , GETDATE()) == 7 ? "JUL" :
DATEPART("mm" , GETDATE()) == 8 ? "AUG" :
DATEPART("mm" , GETDATE()) == 9 ? "SEP" :
DATEPART("mm" , GETDATE()) == 10 ? "OCT" :
DATEPART("mm" , GETDATE()) == 11 ? "NOV" :
DATEPART("mm" , GETDATE()) == 12 ? "DEC" :"")
+ "-" + RIGHT( (DT_STR, 4, 1252) DATEPART("yy" , GETDATE()),2)
其他解决方案
您可以通过添加脚本任务并编写 c# 或 Vb.net 代码来执行此格式化来实现此目的
Dim FormatedDate as Date = Date.Now.ToString("dd-MMM-yy")