今天用time Like '2008-06-01%'语句来查询该天的所有数据,被提示语句错误。查了一下才发现该模糊查询只能用于String类型的字段。
自己也查阅了一些资料。关于时间的模糊查询有以下三种方法:
1.Convert转成String,在用Like查询。
select * from table1 where convert(varchar,date,120) like '2006-04-01%'
2.Between
select * from table1 where time between '2006-4-1 0:00:00' and '2006-4-1 24:59:59'";
3 datediff()函数
select * from table1 where datediff(day,time,'2006-4-1')=0
第一种方法应该适用与任何数据类型;
第二种方法适用String外的类型;
第三种方法则是为date类型定制的比较实用快捷的方法。
相关文章
- 09_MySQL DQL_SQL99标准中的多表查询(外连接)
- EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。
- Hibernate 查询sql结果行数的几种方法
- Java 类型, Hibernate 映射类型及 SQL 类型之间的相应关系
- 解决mybatis,sql后端查询成功但postman测试返回的data却为null,空问题
- Oracle根据时间字段查询近多少天的数据
- sql语句的增加、删除、修改、查询语句
- 关于SQL Server中将数值类型转换为字符串的问题
- Oracle用sql查询某张表的字段信息(字段类型、长度等)
- 用sql语句,将两个字段合并,并当做条件进行查询的方法