在SQL中使用convert函数进行日期的查询的代码
作者:
在SQL中使用convert函数进行日期的查询的代码
曾经遇到这样的情况,在数据库的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位年份
此时我们需要使用convert函数,它可以将一种数据类型的表达式转换为另一种数据类型的表达式.此处我们先将数据库内的datetime类型转换为char类型,由于输入的参数是10位的,所以写成
select * from Meeting where convert(varchar(10),PublishTime,121))=@PublishTime,这样在查询时数据库得到参数后先自动将数据库内的信息转换为yyyy-mm-dd格式的10位字符,只要与参数相同即可返回查询结果.而convert中的121是指将datetime类型转换为char类型时获得包括世纪位数的4位年份
您可能感兴趣的文章:
- SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
- SQLserver中用convert函数转换日期格式的方法
- SQL Server 日期相关资料详细介绍
- sqlserver获取当前日期的最大时间值
- sqlserver中如何查询出连续日期记录的代码
- sql 查询本年、本月、本日记录的语句,附SQL日期函数
- Sqlserver 常用日期时间函数
- 根据日期知道当天是星期几的手动计算方法
- 按日期选择最晚日期与最早日期对应的数的差值
- MSSQL 计算两个日期相差的工作天数的语句
- SQL Server自动生成日期加数字的序列号
- SQL 返回期间内的所有日期
- 数据库 日期加减处理
- sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
- SQL Server日期计算
- SQL Server各种日期计算方法(收藏)
- SqlServer中的日期与时间函数