-
IN 查找值列表中具有值的行
IN 运算符是一个逻辑运算符
IN 运算符等效于多个 OR 运算符,因此,以下语法是等效的:
column IN (v1, v2, v3)
column = v1 OR column = v2 OR column = v3
要取消 IN 运算符,请使用 NOT IN 运算符,如下所示:
column | expression NOT IN ( v1, v2, v3, …)
以下示例使用 IN 运算符查找价格为 299.99 或 466.99 或 489.99 的产品。
SELECT
product_id,
product_name,
category_id,
model_year,
list_price
FROM
production.products
WHERE
list_price IN (299.99, 369.99, 489.99)
ORDER BY
list_price DESC;
SQL -
Like 查找其值包含字符串的行
SQL Server LIKE 运算符的语法:
column IN (v1, v2, v3)
column = v1 OR column = v2 OR column = v3
pattern模式
模式是要在列或表达式中搜索的字符序列。它可以包含以下有效通配符:
通配符百分比( % ):任何零个或多个字符的字符串。
下划线( _ )通配符:任何单个字符。
[list of characters] 通配符:指定集合中的任何单个字符。
[character-character] :指定范围内的任何单个字符。
[^] :不在列表或范围内的任何单个字符。
通配符使 LIKE 运算符比等于( = )和不等于( != )字符串比较运算符更灵活。
转义符
转义字符指示 LIKE 运算符将通配符视为常规字符。转义字符没有默认值,必须仅计算为一个字
符。
A. %(百分比)通配符
查找姓氏( last_name )以字母 z 开头的客户:
SELECT
customer_id,
first_name,
last_name
FROM
sales.customers
WHERE
last_name LIKE ‘z%’
ORDER BY
first_name;
以下示例使用 LIKE 运算符查找名称中包含字符串 Cruiser 的产品:
SELECT
product_id,
product_name,
category_id,
model_year,
list_price
FROM
production.products
WHERE
product_name LIKE ‘%Cruiser%’
ORDER BY
list_price;
SQL
B. _(下划线)通配符
下划线代表单个字符。 例如,以下语句返回第二个字符为字母 u 的客户:
SELECT
customer_id,
first_name,
last_name
FROM
sales.customers
WHERE
last_name LIKE ‘_u%’
ORDER BY
first_name;C. [list of characters]通配符
带有字符列表的方括号,例如: [ABC] 表示单个字符,必须是列表中指定的字符之一。
例如,以下查询返回姓氏( last_name )中第一个字符为 Y 或 Z 的客户:
SELECT
customer_id,
first_name,
last_name
FROM
sales.customers
WHERE
last_name LIKE ‘[YZ]%’
ORDER BY
last_name;
数据库过滤数据(3)
最新推荐文章于 2024-05-07 14:33:13 发布