欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql server 怎么比较日期的大小

更新时间: 2014-01-05 02:07:46 责任编辑: Author_N1

 

SQL Server 如何比较日期的大小

在机房收费系统中,有几处这样的情况:

起始日期和终止日期,相信聪明的你肯定可以想象出为什么要有两个日期控件!是的,就是从一张表中查找出在这两个日期范围类的记录!

 

有的人就说了,这还不简单!

假如我们将第一个控件定义成Begin,第二个控件定义成Over!那么查询语句不就是

"select * from recharge_info where date<'" & over.value & "' and date>'" & begin.value & "'"

 

这有什么难的!但是,事实并不是这么简单的,如果查询语句像这样写的话,你是肯定查找不出来的,那么我们到底该怎能在SQL Server中来比较两个日期的大小呢?

 

这里我们就要借用CONVERT()函数了

 

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

 

语法:CONVERT(data_type(length),data_to_be_converted,style)

其中,data_type(length)规定目标数据类型(带有可选的长度)data_to_be_converted 含有需要转换的值 style规定日期时间的输出格式

 

其中,可使用的style值:

 

例如:

print convert(varchar(19),getdate())
print convert(varchar(10),getdate(),110)
print convert(varchar(11),getdate(),106)
print convert(varchar(24),getdate(),113)


 

结果如下:


如果你在SQL Server中用到根据日期查找记录的话,如果你用date='2013-09-22' 这样的查询语句的时候,但是你仍然能查出你想要的结果的时候,请记住:这并不是你所想的表中记录的日期等于现在的日期,而是表中日期这个字符串和'2013-09-22'这个字符串相等!

 

2楼zc474235918昨天 21:38
最简单的方法,就是把数据表 中的 字段类型 修改成date类型。就可以用运算符直接比较了
Re: u0107866782小时前
那你还是要用这个函数转换一个你用来判定的日期啊
1楼lfmilaoshi昨天 21:16
非常深入的想法,继续努力。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:07:46
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5965/
本文WWW.DOC100.NET DOC100.NET版权所有。