SQL 嵌套大小写 When with numeric check
SQL Nested Case When with numeric check
我正在尝试用 SQL 创建一个 "filter"。
我有一个 table 像这样的文章:
CODE | NAME | QUANTITY |
_______________|_________________|_______________
0020717270084 | MANGO FRUIT 1L | 3 |
0884394000774 | ALOE VERA 50CL | 4 |
16 | CHEWING GUM | 10 |
IGLOO | IGLOO ICE | 5 |
我想做一个SELECT验证CODE。
如果 CODE 是一个数字并且长度为 8 或 10 或 13 位,我显示 CODE ELSE 我必须在 CODE 之前显示 *
(简单连接)。
我可以做 CASE WHEN,但这对我来说有点棘手。
感谢您的帮助。
您可以使用 case
语句执行此操作。数据库以不同的方式进行检查。以下是使用 SQL 服务器的方法:
select (case when len(code) in (8, 10, 13) and code not like '%[^0-9]%'
then code
else '*' + code
end)
我正在尝试用 SQL 创建一个 "filter"。
我有一个 table 像这样的文章:
CODE | NAME | QUANTITY |
_______________|_________________|_______________
0020717270084 | MANGO FRUIT 1L | 3 |
0884394000774 | ALOE VERA 50CL | 4 |
16 | CHEWING GUM | 10 |
IGLOO | IGLOO ICE | 5 |
我想做一个SELECT验证CODE。
如果 CODE 是一个数字并且长度为 8 或 10 或 13 位,我显示 CODE ELSE 我必须在 CODE 之前显示 *
(简单连接)。
我可以做 CASE WHEN,但这对我来说有点棘手。
感谢您的帮助。
您可以使用 case
语句执行此操作。数据库以不同的方式进行检查。以下是使用 SQL 服务器的方法:
select (case when len(code) in (8, 10, 13) and code not like '%[^0-9]%'
then code
else '*' + code
end)