我有一个包含以下值的CSV文件Date
列:
StartDate
---------------------------
01/02/2014 0:00
09/04/2013 0:00
我想从上面的列值中仅提取日期部分。我创建了数据类型为Varchar的表,因为如果我将其声明为DATETIME,那么我将无法执行批量插入。
答案 0 :(得分:0)
您可以使用LEFT功能单独提取日期部分 (以您上面指定的格式提供所有数据)
select LEFT(colname,10)
答案 1 :(得分:0)
通过“空格”分割来获取日期部分
cols[col_num].split(" ")[0]
然后make insert语句。
为什么表有数据类型varchar?为什么不约会?
答案 2 :(得分:0)
您可以BULK INSERT到一个表中,您将保存数据以进行中间存储。尝试类似:
SELECT id, LEFT(CONVERT(VARCHAR, dateCol, 103), 10) FROM temptbl
使用CONVERT()查看以下MSDN页面,了解可用的日期格式: