标题:求高手解答数据库时间问题
只看楼主
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
结帖率:81.82%
 问题点数:0 回复次数:2 
求高手解答数据库时间问题
SQL数据库,时间为getdate()
有的时候数据库中只显示年月日如:2008-3-28
有时会显示2008-3-28 12:22:00 秒都无法正常显示
为什么?
有时会全显示  2008-3-28 13:22:22
怎么会这样?到底有没有一种固定的格式让他固定显示
搜索更多相关主题的帖子: 数据库 解答 时间 
2008-03-28 13:28
provoke
Rank: 2
来 自:广州
等 级:新手上路
威 望:5
帖 子:175
专家分:0
注 册:2007-6-14
得分:0 
getdate()的返回类型是datetime,形如2008-01-23 12:34:57.789,也就是年月日时分秒毫秒,其他定义为datetime类型的字段,其返回值也是这样形式。
一般来讲,不需要这么精确的时间值,觉得“毫秒”这部分是垃圾,甚至在只需要日期不需要时间的场合,觉得垃圾比有用数据还多:日期部分长度还不到一半。
要想使用自己喜欢的固定格式,可以自己转换,用convert()函数,还有year(),month(),day()函数。
比如,如果字段1是datetime类型的,可以这样:
select 日期=year(字段1)+'年'+month(字段1)+'月'+day(字段1)+'日'
结果类似于:2008年12月12日

至于中间的分隔符,可以用自己喜欢的:
select 日期=year(字段1)+'-'+month(字段1)+'-'+day(字段1)
2008-12-12

也可以自己重新排列年月日的顺序:
select 日期=month(字段1)+'/'+day(字段1)+'/'+year(字段1)
12/31/2008

如果不想每次查询都重新转换,就新建一个视图,在视图里保存这些查询转换,在需要查询的时候从视图里查询就省事多了。

爱我至爱,至死不渝!
2008-03-28 14:35
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
得分:0 
haode1
,xiexie
2008-04-01 13:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205828-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.317897 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved