是否可以将varchar的5122012转换为日期时间05/12/2012?
由于
答案 0 :(得分:3)
首先,如果没有日期和月份的尾随零,则无法执行此操作。所以你的输入数据必须是:
05122012
其次,最好使用“原生”格式:
20121205
服务器理解的是什么
如果这是获取数据的唯一方法,则需要一个函数来测试并返回日期
基本功能就像这样(SQL Server 2008示例):
如果输入数据为:05122012
,如果您需要不追踪0
,则需要将该检查添加到函数
create function [dbo].[Str2Date] ( @data as varchar(8))
returns datetime
AS
begin
declare @day char(2), @mon char(2), @year char(4)
set @day = substring(@data,1,2)
set @mon = substring(@data,3,2)
set @year = substring(@data,5,4)
set @data = @year+@mon+@day
return convert (datetime,@data,112)
end
select dbo.Str2Date('05122012')