首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 里如何把varchar转成datetime格式

2013-01-07 
sql 里怎么把varchar转成datetime格式我的表格里有一列数据是15-3-2011 0:00:00类似的数据,类型是varchar(

sql 里怎么把varchar转成datetime格式
我的表格里有一列数据是15-3-2011 0:00:00类似的数据,类型是varchar(50)的,现在我要把这个跟2011-01-01比较,应该怎么转格式?
[解决办法]


if OBJECT_ID('f_ToDate') is not null
drop function f_ToDate
go
create function f_ToDate
(
@Date varchar(50)
)
returns datetime
as
begin
--declare @Date varchar(50)='15-3-2011 0:00:00'
declare @day varchar(2)
declare @month varchar(2)
declare @year varchar(4)
select @day=left(@Date,CHARINDEX('-',@Date)-1)
--print @day
select @month=substring(@Date,CHARINDEX('-',@Date)+1,charindex('-',@Date,CHARINDEX('-',@Date)+1)-CHARINDEX('-',@Date)-1)
--print @month
select @year=right(replace(@Date,' 0:00:00',''),4)
--print @year
return @year+'-'+@month+'-'+@day+right(@Date,8)
end
go

select dbo.f_ToDate('15-3-2011 0:00:00')
/*
2011-03-15 00:00:00.000
*/

热点排行