SQL server 里如何提取datetime里的时间!
如已经在表里的值为2009-8-1913:00:00,只要13:00:00在SQLmanagementstudio里怎么设置,selectconvert(varchar(...
如已经在表里的值为2009-8-19 13:00:00,只要13:00:00
在SQL management studio里怎么设置,select convert (varchar(100),getdate,108)这个我知道,但是怎么改变表里已经录入的值,再哪设置?谢谢
版本是2005,1,2楼的是给查询以后显示的结果,都是对的,可是我想要在原数据表中日期就是时间格式!谢谢你们 展开
在SQL management studio里怎么设置,select convert (varchar(100),getdate,108)这个我知道,但是怎么改变表里已经录入的值,再哪设置?谢谢
版本是2005,1,2楼的是给查询以后显示的结果,都是对的,可是我想要在原数据表中日期就是时间格式!谢谢你们 展开
6个回答
展开全部
不知你的 SQL Server 是哪个版本,我在SQL Server 2008下可以将datetime数据类型转换为time类型,这样表中现有的datetime数据就会只显示时间部分,如:
alter table 表 alter column 列 time(0);
注意!!!在执行以上语句之前,务必备份原有列,因为一旦执行以上语句,那么日期部分将不再保留,也就是说无法通过逆向操作来还原原有数据.
补充,试了一下2005中不支持time类型,目前能想到的方案就是新增一varchar类型列来保存时间部分,如:
alter table 表 add 新列 varchar(10);
update 表 set 新列=convert(varchar,原列,108)
alter table 表 alter column 列 time(0);
注意!!!在执行以上语句之前,务必备份原有列,因为一旦执行以上语句,那么日期部分将不再保留,也就是说无法通过逆向操作来还原原有数据.
补充,试了一下2005中不支持time类型,目前能想到的方案就是新增一varchar类型列来保存时间部分,如:
alter table 表 add 新列 varchar(10);
update 表 set 新列=convert(varchar,原列,108)
展开全部
select convert(varchar,时间字段,108) from 表名;
---
以上,希望对你有所帮助。
---
以上,希望对你有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表 set 日期字段 left(convert(varchar,日期字段,120),10)+' '+'09:00:00'
以上,希望对你有所帮助
以上,希望对你有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用Convert()函数:
select convert(char(10),GetDate(),120) as Date
下面介绍几种样式的参数:
100 mm dd yyyy
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
106 dd mm yyyy
108 hh:mi:ss(时间)
111 yyyy/mm/dd
112 yyyymmdd
120 yyyy-mm-dd
select convert(char(10),GetDate(),120) as Date
下面介绍几种样式的参数:
100 mm dd yyyy
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
106 dd mm yyyy
108 hh:mi:ss(时间)
111 yyyy/mm/dd
112 yyyymmdd
120 yyyy-mm-dd
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库中不也是有一个字符串截取函数吗。MSDN一下就有了。简单得很呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询