SQL server 里如何提取datetime里的时间!

2024-12-01 08:54:27
推荐回答(5个)
回答(1):

不知你的 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)

回答(2):

select convert(varchar,时间字段,108) from 表名;

---
以上,希望对你有所帮助。

回答(3):

update 表 set 日期字段 left(convert(varchar,日期字段,120),10)+' '+'09:00:00'

以上,希望对你有所帮助

回答(4):

使用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

回答(5):

数据库中不也是有一个字符串截取函数吗。MSDN一下就有了。简单得很呢。