我正在尝试将 GETDATE() 转换为 SSIS 中格式为 dd-MMM-yy(例如,03-NOV-17)的字符串,因为我正在使用 Oracle 作为数据源。
我开发了下面的表达式,它将返回 2017-11-03。这很接近,但我需要“11”来读取“NOV”。
(DT_STR, 4, 1252) DATEPART("yy" , GETDATE()) + "-" +
RIGHT("0" + (DT_STR, 2, 1252) DATEPART("mm" , GETDATE()), 2) +
"-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("dd" , GETDATE()), 2)
这里有什么建议吗?
最佳答案
例如,SSIS 表达式生成器不支持 DATENAME
函数。
我会从执行 SQL 任务(将结果映射到字符串变量)中返回它,例如:
SELECT UPPER(FORMAT(GETDATE(), 'dd-MMM-yy')) Result
您也可以在脚本任务中设置它,例如:
Dts.Variables["User::StringDate"].Value = DateTime.Now.ToString("dd-MMM-yy").ToUpper();
关于sql-server - SSIS 表达式生成器 - GetDate() 到字符串 (dd-MMM-yy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47101120/