sql语句 like or between 可以一起用吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句 like or between 可以一起用吗相关的知识,希望对你有一定的参考价值。

可以一起。。。or 代表两个条件只要符合一个即可~ like or between 代表包含某个字段。 或者 在某两个条件之间~~~ 参考技术A SELECT * FROM userTable WHERE FirstName Like 's%'
% 会被任何东西取代,以上的例子会获得全部s开始的名字

SELECT * FROM userTable WHERE Age BETWEEN 20 AND 30
以上的例子会获得全部20到30岁记录

SELECT * FROM userTable WHERE FirstName BETWEEN 'a' AND 'c'

以上的例子会获得全部b开始的名字, a和c的中间,
*有些DBMS会获得a,b,c开始的记录

sql 语句问题,关于BETWEEN AND 和DATE 的

我想要查询 日期1 到日期2之间的所有记录,应该怎么写sql语句
SELECT *
FROM family
WHERE `date`
BETWEEN 2011 -05 -06
AND 2011 -05 -10
ORDER BY `id`
LIMIT 0 , 10 结果显示无记录为什么?我明明有记录

1、打开SQLServerManagementStudio管理工具,连接上数据库,创建一张测试表,用于测试Between...and查询结果是否包含边界值。

CREATETABLETestBteween(

Col1varchar(200)NOTNULL,

Col2varchar(200)NULL,

Col3intNULL

)

2、往测试表TestBetween中插入几行测试数据。

insertintoTestBteween(Col1,Col2,Col3)values('第1行','Hello',10);

insertintoTestBteween(Col1,Col2,Col3)values('第2行','World',20);

insertintoTestBteween(Col1,Col2,Col3)values('第3行',null,null);

insertintoTestBteween(Col1,Col2,Col3)values('第4行','Hello',40);

insertintoTestBteween(Col1,Col2,Col3)values('第5行','World',50);

3、查询表中的所有测试数据。

select*fromTestBteween;

4、使用between...and查询Col3数字列在10到40之间的结果,从运行结果可以看出,10、40都包含在了查询结果中,说明between...and查询结果是包含边界值的。

select*fromTestBteweenwhereCol3between10and40;

5、使用between...and查询Col3数字列在10到30之间的结果,从结果可以看出,只要等于一个边界值就会查询出来。

select*fromTestBteweenwhereCol3between10and30;

6、使用between...and查询Col1中文列在第1行到第3行之间的结果,从结果可以看出,也是包含边界值的。

select*fromTestBteweenwhereCol1between'第1行'and'第3行';

7、使用between...and查询Col2英文列在Hello到World之间的结果,从结果可以看出,也是包含边界值的。

select*fromTestBteweenwhereCol2between'Hello'and'World';

参考技术A select .. from ... where 字段名(这里是时间格式) BETWEEN 日期格式1 and 日期格式2
因为2011 -05 -06不是日期,得转化为日期格式,现在只是字符串追问

没太明白你的意思,为什么说他不是日期,那得怎么才能转化为日期,请指点指点~

追答

sqlserver: BETWEEN convert(datetime,'2011-05-06') and convert(datetime,'2011-05-10')
oracle: to_date('2011-05-06','yyyy-mm-dd') and to_date('2011-05-10','yyyy-mm-dd')

本回答被提问者和网友采纳
参考技术B 例如 #05/12/2005# 的前一天和后一天之间: select * from table1 where [date] <=dateadd("d",1,#05/12/2005#) and [date] >=dateadd("d",-1,#05/12/2005#) 例如 #05/12/2005# 的前两个月和后两个月之间: select * from table1 where [date] <=dateadd("",2,#05/12/2005#) and [date] >=dateadd("m",-2,#05/12/2005#) 参考技术C SELECT *
FROM family
WHERE `date`
BETWEEN '2011 -05 -06'
AND '2011 -05 -10'
ORDER BY `id`
LIMIT 0 , 10

这样查肯定有记录
参考技术D and 系统时间 between addtime and stoptime 字段上不能加引号的,否则会认为是个字符串另外where 列值这个没有条件啊 where 列值=?? and

以上是关于sql语句 like or between 可以一起用吗的主要内容,如果未能解决你的问题,请参考以下文章

sql 逻辑运算符(LIKE,IN NOT,AND,BETWEEN,OR)

sql 语句问题,关于BETWEEN AND 和DATE 的

MySQL 查询语句SELECT和数据条件过滤

SQL语句中关于select……like的问题

MySQL高级语句

Mysql高阶语句