当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL中使用convert函数进行日期的查询的代码

MSSQL
SQLServer数据库和Access数据库的各自特点
SQLite数据库最适合做网站内容管理系统(CMS)
彻查SQL Server数据库查询速度慢
BUILTIN\Administrators登陆账号
PHP简单学习,保证入门学会
网站主机教程(7):网站主机的数据库技术
SQL入门:SQL Server 2000企业版安装
SQL入门:MSDE 2000无人职守自动安装
如何连接注册远程SQL Server数据库
提高SQL Server安装安全性要做的10件事
SQL Server连接体系结构的客户端
为SQL Server提供更多的内存
检测SQL Server数据库服务器异常现象
SQL Server入门教程(1):SQL简介和SQL语法
SQL Server入门教程(2):Select和DISTINCT语句
SQL2008新特性Resource Governor
教你配置安全稳定的SQL Server数据库
SQL Server教程:学习SELECT
如何替换SQL Server数据库内容
Sql-Server应用程序的高级Sql注入

MSSQL 中的 在SQL中使用convert函数进行日期的查询的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 112 ::
收藏到网摘: n/a

曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为yyyy-mm-dd格式)语句进行查询将无法得到正确结果,比如我们要查询2004年12月1日的会议信息,在输入2004-12-01时就不能得到查询结果,而这种查询又不能要求输入具体的hh:mm:ss.
此时我们需要使用convert函数,它可以将一种数据类型的表达式转换为另一种数据类型的表达式.此处我们先将数据库内的datetime类型转换为char类型,由于输入的参数是10位的,所以写成
select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,这样在查询时数据库得到参数后先自动将数据库内的信息转换为yyyy-mm-dd格式的10位字符,只要与参数相同即可返回查询结果.而convert中的121是指将datetime类型转换为char类型时获得包括世纪位数的4位年份