数据库中like语句

数据库中like语句,第1张

在SQL结构化查询语言中,LIKE语句有着至关重要的作用。

LIKE语句的语法格式是:select * from 表名 where 字段名 like

对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。

假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据。现在要在姓名字段中查询以“张”字开头的记录,语句如下:

select * from table1 where name like

"张*"

如果要查询以“张”结尾的记录,则语句如下:

select *

from table1 where name like "*张"

这里用到了通配符“*”,可以说,like语句是和通配符分不开的。

like是字符串模糊匹配的关键字。

你的字段是日期类型还是字符串类型?如果是日期型,那是肯定无法得到结果的。

如果一定要使用Like,可以先把日期转成字符串,在使用。

如果不使用like,可以把2011-1-1分别得到这天的开始和结束的两个时间,一个是0点,一个是23点59分59秒,然后使用between and语法。

不管怎么做,转化类型是一定的。

select * from table where convert(varchar(50), op_date, 120) like '2011-1-1%'

或者

select * from table where op_date between convert(datetime, '2011-1-1', 120) and convert(datetime, '2011-1-1 23:59:59', 120)

查询某一个时间范围内的日期,应该用 BETWEEN AND

或者 >.. AND <...

因为BETWEEN AND是取闭区间的,所以上面的代码可以改成

select * from schedule where begintime >= '2007-12-19' and begintime <'2007-12-20'

如果楼主一定坚持要用LIKE查询,可以参考下面的方法:

select * from schedule where convert( varchar(32), begintime, 20 ) LIKE '2007-12-20%'

其中对 convert 不理解,可以参考 T-SQL语法

第3个参数值为20,代表ODBC 规范的yyyy-mm-dd hh:mm:ss(24h)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6826023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存