Sql server 将SSIS中的字符串类型日期字段(dd/mm/yy hh mm ss)转换为字符串YYYYMMDD

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,我认为

我的提要列的示例值

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,我认为这符合您的要求:

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打包的派生列表达式