Sql server 将SSIS中的字符串类型日期字段(dd/mm/yy hh mm ss)转换为字符串YYYYMMDD
我的提要列的示例值 2015年4月27日00:00:01 2015年2月2日12:00:01上午 2016年3月16日00:00:01 到目前为止,我已经在派生列表达式中进行了尝试Sql server 将SSIS中的字符串类型日期字段(dd/mm/yy hh mm ss)转换为字符串YYYYMMDD,sql-server,date,ssis,data-conversion,Sql Server,Date,Ssis,Data Conversion,我的提要列的示例值 2015年4月27日00:00:01 2015年2月2日12:00:01上午 2016年3月16日00:00:01 到目前为止,我已经在派生列表达式中进行了尝试 REPLACE((DT_WSTR,10)(DT_DBDATE)MyField,"-","") 这是2020年2月10日12:00:00的节目 至2020-02-10 但我要找的是2020-10-02 这有点奇怪 这就是我所期望的 假设您使用的是SQL Server,我认为
REPLACE((DT_WSTR,10)(DT_DBDATE)MyField,"-","")
这是2020年2月10日12:00:00的节目
至2020-02-10
但我要找的是2020-10-02
这有点奇怪
这就是我所期望的
假设您使用的是SQL Server,我认为这符合您的要求:
select convert(date, left(feed, 10), 103)
加载之前,您可以
设置日期格式DMY
示例
Set DateFormat DMY
Declare @YourTable table (SomeCol datetime)
Insert Into @YourTable values
('27/04/2015 00:00:01')
,('2/2/2015 12:00:01 AM')
,('16/03/2016 00:00:01')
Select * From @YourTable
结果
SomeCol
2015-04-27 00:00:01.000
2015-02-02 00:00:01.000
2016-03-16 00:00:01.000
用你正在使用的数据库标记你的问题。来源是什么?源中的数据类型是什么?你为什么要投出一根弦?日期应存储为日期,而不是字符串。存储为日期,然后仅在表示层上转换。@Gordan Linoff,谢谢。我使用的是SSIS打包的派生列表达式