如何把13-12-2006的格式的字符串转化为DateTime
2006年12月13日
本机的日期格式为2006/12/13
现在转化的时候把13认为是月
问题点数:20、回复次数:3Top
1 楼dutguoyi(新鲜鱼排)回复于 2006-03-16 21:31:14 得分 10
Italian dd-mm-yy
只有上面时区的时间格式是你说写的。
declare @d datetime
set @d='2006/12/13'
select convert(varchar(12),@d,105)
但是由于你的系统不能识别,所以即使一个正确的时间也是不行的。
建议通过字符串分解来获取年月日。Top
2 楼dutguoyi(新鲜鱼排)回复于 2006-03-16 21:39:33 得分 10
declare @s varchar(10)
set @s='13-12-2006'
declare @year int,@month int,@day int
select @day=convert(int,substring(@s,0,charindex('-',@s)))
select @year=convert(int,right(@s,4))
select @month=substring(@s,len(@day)+2,Len(@s)-len(@day)-2-len(@year))
select convert(varchar,@year)+N'年'+convert(varchar,@month)+N'月'+convert(varchar,@day)+N'日'
/*
---------------------------------------------------------------------------------------------
2006年12月13日
(1 row(s) affected)
*/
Top
3 楼ReViSion(和尚)回复于 2006-03-16 22:12:40 得分 0
set dateformat dmy
Declare @v varchar(10)
declare @n datetime
set @v='13-12-2006'
set @n=cast(@v as datetime)
set dateformat ymd
select @N
Top




