sql-server - SSIS 表达式生成器 - GetDate() 到字符串 (dd-MMM-yy)

标签 sql-server date ssis expression etl

我正在尝试将 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/

相关文章:

c# - 无法从 Visual Studio 访问 Northwind 数据库

sql - 获取当前月份的日期范围?

javascript - 是否有用于 JavaScript 的 BCE/CE 日期库?

java - 比较时间并重复执行某些任务

php - 设置一个日期范围来检索登录的用户,以 1970-01-01 结尾

sql-server - SQL 查询中的重复值

c# - 我可以执行多条SQL语句吗?

sql - 使用环境变量时出现 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER

mysql - 如何在 SSIS 中定义 MySQL 变量

sql-server - SSIS - 控制发送到 SSIS 目录的错误日志