如何实现将varchar类型转换为datetime类型? Sql server 2000里的。
我往Sqlserver2000里倒入数据后,日期列默认为varchar,其值一般为日期加时间,例如:2010-9-1210:33:5我只需要用到日期,但是在把它转换成日期...
我往Sql server 2000里倒入数据后,日期列默认为varchar,
其值一般为日期加时间,例如:2010-9-12 10:33:5
我只需要用到日期,但是在把它转换成日期类型时遇到困难,请高手指教,不甚感激 展开
其值一般为日期加时间,例如:2010-9-12 10:33:5
我只需要用到日期,但是在把它转换成日期类型时遇到困难,请高手指教,不甚感激 展开
4个回答
展开全部
我想你不是遇到了转换问题 而是遇到的varchar字段的有些数据无法转换成日期类型的问题 我建议你写个程序 循环该字段所有行 做类型转换 然后设置异常将转换不成功的行的主键记录下来 再用SQL查看这些异常行的该字段内容 便可解决!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其时用字符类型的做时间类型也可以,但不完整。试在数据库要改的字段直接改为日期看行不。再试用alter修改数据类型看看行不(如果全是2010-9-12 10:33:5 这些数据可能可以直接改)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create table test2 (updatetime varchar(20));
insert into test2 values ('2010-9-12 10:33:5');
select updatetime from test2 where convert(datetime,updatetime,110)>'2010-9-12'
insert into test2 values ('2010-9-12 10:33:5');
select updatetime from test2 where convert(datetime,updatetime,110)>'2010-9-12'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1> SELECT
2> CONVERT(DATETIME, '2012-01-02 09:06:18', 120)
3> go
-----------------------
2012-01-02 09:06:18.000
截尾掉 时分秒的部分
1> SELECT
2> DATEADD(DAY,
3> DATEDIFF(DAY, 0, CONVERT(DATETIME, '2012-01-02 09:06:18', 120)),
4> 0)
5> go
-----------------------
2012-01-02 00:00:00.000
(1 行受影响)
2> CONVERT(DATETIME, '2012-01-02 09:06:18', 120)
3> go
-----------------------
2012-01-02 09:06:18.000
截尾掉 时分秒的部分
1> SELECT
2> DATEADD(DAY,
3> DATEDIFF(DAY, 0, CONVERT(DATETIME, '2012-01-02 09:06:18', 120)),
4> 0)
5> go
-----------------------
2012-01-02 00:00:00.000
(1 行受影响)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |