所以我在名为“Dates”的列上有一个值为19/09/2011的Excel文件。我在Excel中选择了整个列 - 格式单元格 - 位置:英语(英国)并选择了样本值“14/03/2011”,以便当天出现在该月之前。
现在,在Visual Studio中使用一个简单的导入包,我在Sql Server中导入了数据(我使用了向导生成的3个任务:Drop table,在Sql Server中创建表结构,以及实际导入)。
在create table任务中,我将日期列类型指定为日期。 之后,为了测试结果,我在Sql Server表中选择了日期desc。
所以我得到了这个,所有隆隆声(这应该只是9月的数据,所以我们应该在年后只有“09”):
2011-12-09
2011-11-09
2011-10-09
2011-09-30
2011-09-29
2011-09-28
2011-09-27
2011-09-26
2011-09-25
2011-09-24
2011-09-23
2011-09-22
2011-09-21
2011-09-20
2011-09-19
2011-09-18
2011-09-17
2011-09-16
2011-09-15
2011-09-14
2011-09-13
2011-09-09
2011-08-09
2011-07-09
2011-06-09
2011-05-09
2011-04-09
2011-03-09
2011-02-09
2011-01-09
答案 0 :(得分:0)
要将数据输入日期时间列,您可以:
select cast(replace(date_col, '-', '') as datetime)
因为yyyymmdd格式的字符串(例如20120928
)总是可以转换为日期时间而不管格式设置如何(因为它们是某种ISO格式)。
要以特定格式从表格中获取数据,您可以CAST
或CONVERT
或使用
SET DATEFORMAT
e.g。
SET DATEFORMAT dmy
GO
SELECT GETDATE()
编辑:使用convert会如下所示:
SELECT CONVERT(VARCHAR(10), GETDATE(), 103)
返回:
28/09/2012
答案 1 :(得分:0)
使用函数CONVERT (DATETIME, @sDateOfBirth,101)