在sql server中,日期型字段,在数据库中默认是以类似"年-月-日 时:分:秒"的格式存在的,但若直接转换为字符串的话则会类似这样的格式"07 25 2007 4:58PM",如果我们需要查询时查询日期等于当天的记录,则应该这样写
select * from table where convert(char,service_date,111) = convert(char,getdate(),111)
这里service_date为时间字段的名字,convert(char,service_date,111),则将service_date字段转化为类似"2007/07/25"这样的字符串格式,如果我们想要转化为类似'2007-07-25'这样的格式,则可以再用sqlserver的replace函数替换一下,把其中的"/"替换成"-"即可.即replace(convert(char,service_date,111),'/','-')这样即可转换成我们常用的类似'2007-07-25'的格式了。
关于用convert函数转换日期时间,附录如下:
不带世纪数位 (yy)
带世纪数位 (yyyy)
标准
输入/输出**
-
0 或 100 (*)
默认值
mon dd yyyy hh:miAM(或 PM)
1
101
美国
mm/dd/yyyy
2
102
ANSI
yy.mm.dd
3
103
英国/法国
dd/mm/yy
4
104
德国
dd.mm.yy
5
105
意大利
dd-mm-yy
6
106
-
dd mon yy
7
107
-
mon dd, yy
8
108
-
hh:mm:ss
-
9 或 109 (*)
默认值 + 毫秒
mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10
110
美国
mm-dd-yy
11
111
日本
yy/mm/dd
12
112
ISO
yymmdd
-
13 或 113 (*)
欧洲默认值 + 毫秒
dd mon yyyy hh:mm:ss:mmm(24h)
14
114
-
hh:mi:ss:mmm(24h)
-
20 或 120 (*)
ODBC 规范
yyyy-mm-dd hh:mm:ss[.fff]
-
21 或 121 (*)
ODBC 规范(带毫秒)
yyyy-mm-dd hh:mm:ss[.fff]
-
126(***)
ISO8601
yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
-
130*
科威特
dd mon yyyy hh:mi:ss:mmmAM
-
131*
科威特
dd/mm/yy hh:mi:ss:mmmAM
文档说明:
相关文档
返回首页 | 关于本站 | | 友情链接 | 广告服务 | 意见建议 | 访客留言 | 本站论坛
Copyright© 2001-2006 ProgramBBS.com All Rights Reserved 版权所有©编程论坛
Email: 吉ICP备05009985号
感谢长春订餐网友情支持