在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位年份

时间: 2024-07-31 15:27:32

在SQL中使用convert函数进行日期的查询的代码的相关文章

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

曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为yyyy-mm-dd格式)语句进行查询将无法得到正确结果,比如我们要

在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格式)语句进行查询将无法得到正确结

hibernate-Hibernate执行sybase数据库的convert()函数转换日期为1

问题描述 Hibernate执行sybase数据库的convert()函数转换日期为1 我sql中使用到了convert(char(9),orderdate,112),orderdate是一个日期,但是我用hibernate执行之后结果都是1 SQLQuery query = session.createSQLQuery(sql); List<Object[]> list = query.list(); Object[] obj = list.get(0); ..... String orde

SQL中实现SPLIT函数几种方法总结(必看篇)_Mysql

例1 代码如下 create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp table(a varchar(100)) --实现split功能 的函数 --date :2003-10-14 as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=charindex(@StrSeprate,@Sou

SQL点滴30—SQL中常用的函数

原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很详细. 以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lowe

SQLserver中用convert函数转换日期格式的方法_MsSql

SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-','

SQLserver中用convert函数转换日期格式的方法

SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-','

SQL中ROW_NUMBER() 排序函数使用详解

以前写过一篇文章排序提到过ROW_NUMBER()函数,但是很多同学是第一次见到,根本不知道这个函数的详细用法. MK在这里贴出来详细说明供大家参考: Mssql取得第10到第20条的不连续记录的三种方法 1.使用row_number()函数进行编号:如 SELECT email,customerID, ROW_NUMBER() OVER(ORDER BY psd) AS ROWS FROM QT_Customer 原理:先按psd进行排序,排序完后,给每条数据进行编号. 2.在订单中按价格的升

SQL中实现SPLIT函数几种方法

例1  代码如下 复制代码 create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp table(a varchar(100)) --实现split功能 的函数 --date    :2003-10-14 as begin     declare @i int     set @SourceSql=rtrim(ltrim(@SourceSql))     set @i=chari