public static interface Where.Operator
下面的运算符可在 WHERE 子句中使用:
操作符 描述| 限定符和类型 | 方法和说明 |
|---|---|
Where |
between(java.lang.Object value1,
java.lang.Object value2)
SQL BETWEEN 操作符
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
|
Where |
eq(java.lang.Object value)
WHERE 子句中的等于(=)操作符:语法
SELECT 列名称 FROM 表名称 WHERE 列 = 值
|
Where |
gt(java.lang.Object value)
WHERE 子句中的大于(>)操作符:语法
SELECT 列名称 FROM 表名称 WHERE 列 > 值
|
Where |
gteq(java.lang.Object value)
WHERE 子句中的大于等于(>=)操作符:语法
SELECT 列名称 FROM 表名称 WHERE 列 >= 值
|
Where |
in(java.lang.Object... values)
WHERE 子句中的IN(in)操作符:语法
|
Where |
isNull()
是否为空表达式 找出字段为空的数据
select * from 表 where 字段 is null
|
Where |
like(java.lang.String value)
SQL LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
|
Where |
lt(java.lang.Object value)
WHERE 子句中的小于(<)操作符:语法
SELECT 列名称 FROM 表名称 WHERE 列 < 值
|
Where |
lteq(java.lang.Object value)
WHERE 子句中的小于等于(<=)操作符:语法
SELECT 列名称 FROM 表名称 WHERE 列 <= 值
|
Where |
ltgt(java.lang.Object value)
WHERE 子句中的不等于(<>)操作符:语法
SELECT 列名称 FROM 表名称 WHERE 列 <> 值
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !
|
Where |
notNull()
是否不为空表达式 找出字段不为空的数据
select * from 表 where 字段 is not null
|
Where eq(java.lang.Object value)
SELECT 列名称 FROM 表名称 WHERE 列 = 值
value - -值Where lteq(java.lang.Object value)
SELECT 列名称 FROM 表名称 WHERE 列 <= 值
value - -值Where gteq(java.lang.Object value)
SELECT 列名称 FROM 表名称 WHERE 列 >= 值
value - -值Where in(java.lang.Object... values)
values - in中的数据集Where lt(java.lang.Object value)
SELECT 列名称 FROM 表名称 WHERE 列 < 值
value - -值Where gt(java.lang.Object value)
SELECT 列名称 FROM 表名称 WHERE 列 > 值
value - -值Where ltgt(java.lang.Object value)
SELECT 列名称 FROM 表名称 WHERE 列 <> 值
注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
value - -值Where like(java.lang.String value)
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
Persons 表:
Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。
结果集: Id LastName FirstName Address City 2 Bush George Fifth Avenue New York 例子 2接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '%g'结果集: Id LastName FirstName Address City 3 Carter Thomas Changan Street Beijing 例子 3
接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '%lon%'结果集: Id LastName FirstName Address City 1 Adams John Oxford Street London 例子 4
通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City NOT LIKE '%lon%'结果集: Id LastName FirstName Address City 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用以下通配符:
通配符 描述 % 替代一个或多个字符 _ 仅替代一个字符 [charlist] 字符列中的任何单一字符[^charlist]
或者
[!charlist]
不在字符列中的任何单一字符Persons 表:
Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE 'Ne%'结果集: Id LastName FirstName Address City 2 Bush George Fifth Avenue New York 例子 2
接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '%lond%'结果集: Id LastName FirstName Address City 1 Adams John Oxford Street London
现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge'结果集: Id LastName FirstName Address City 2 Bush George Fifth Avenue New York 例子 2
接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'结果集: Id LastName FirstName Address City 3 Carter Thomas Changan Street Beijing
现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '[ALN]%'结果集: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 例子 2
现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%'结果集: Id LastName FirstName Address City 3 Carter Thomas Changan Street Beijing
value - -值Where between(java.lang.Object value1, java.lang.Object value2)
BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SQL BETWEEN 语法SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
Persons 表:
Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing 4 Gates Bill Xuanwumen 10 Beijing如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:
SELECT * FROM Persons WHERE LastName结果集: Id LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New YorkBETWEEN'Adams'AND'Carter'
重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!
如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter'
结果集:
Id
LastName
FirstName
Address
City
3
Carter
Thomas
Changan Street
Beijing
4
Gates
Bill
Xuanwumen 10
Beijing
value1 - -开始值(包括)value2 - -结束值(不包括)Where isNull()
select * from 表 where 字段 is null
Where notNull()
select * from 表 where 字段 is not null