sql-server - 在 SSIS 中引入正确的日期格式
问题描述
我需要美国格式的日期格式,即 2018 年 9 月 30 日;2018 年 8 月 31 日;2018 年 7 月 31 日.. 在 SSIS 中以此类推。我已将代码编写为
LEFT((DT_STR,50,1252)DATEADD("d",-DAY(GETDATE()),GETDATE()),10)
这带来了 2018-09-30 的日期,这不是正确的格式。我确实将数据类型指定为“STRING”,因为上面的代码没有将“DATE/DATE-TIME”作为数据类型。
我正在尝试将上个月的最后一个日期带入,因此当前获取的格式不正确。
有什么猜测吗?
谢谢!
解决方案
对于这样的格式,需要从日期中提取日期部分并相应地连接起来。下面的表达式会将日期转换为 DD/MM/YYYY 格式。由于您在问题中仅列出了月份的个位数,因此此示例不考虑零,并且长度会有所不同。如果您希望将零添加到单个数字的日期和月份,"0"
则需要在日期和月份之前附加一个(带引号)。
RIGHT((DT_STR, 2, 1252) DATEPART("MM", DATEADD("D",-DAY(GETDATE()),GETDATE())), 2)
+ "/" + RIGHT((DT_STR, 2, 1252) DATEPART("DD", DATEADD("D",-DAY(GETDATE()),GETDATE())), 2)
+ "/" + (DT_STR, 4, 1252) DATEPART("YYYY", DATEADD("D",-DAY(GETDATE()),GETDATE()))
推荐阅读
- php - INSERT INTO 不能在一张桌子上工作,但可以在其他桌子上工作并且更新也能工作?
- youtube-api - 我想跟踪 YouTube 订阅
- reactjs - 如何从循环中的反应组件中提取数据?
- c# - 为类库项目集中处理异常
- html - 使用 VBA 从网站 Screener.in 抓取表格
- sql - 使用空值连接表并排序
- ms-access - 检查 MS-Access 上的超链接字段是否损坏而不单击链接
- performance - CPU(核心)和内存(RAM)之间有关系吗?
- c# - 在没有asp-action的情况下将请求验证令牌添加到表单
- javascript - 页面刷新后 redux 状态被删除(redux-toolkit)