发行日期(DATETIME)

时间:2015-01-14 22:56:37

标签: sql sql-server

我有一个平面文件,其中包含以下格式的日期列

StartDate
-------------
11/1/2014 0:00
6/09/2013 0:00

我有两个问题。

  1. 当我在SQL服务器中创建一个表并尝试批量插入文件时,我收到数据转换错误。我在表格中将开始日期列定义为DATETIME。

  2. 我需要将日期和时间分开并以mm / dd / yyyy而不是m / d / yyyy获取日期

  3. 请告诉我正确的步骤以达到上述效果。

1 个答案:

答案 0 :(得分:0)

;with t (theDate) as
(
    select '11/1/2014 0:00' union all
    select '6/09/2013 0:00' 
)
select 
    _datetime = convert(datetime, theDate, 101),
    _date = convert(date, theDate, 101),
    _time = convert(time, theDate, 101)
from t

查看有关CONVERT()函数的MSDN文档。您会看到它可选地接受一个整数,因为它是从一堆预定义的日期掩码转换而来的最后一个参数。

http://msdn.microsoft.com/en-us/library/ms187928.aspx