我正在尝试用SQL创建一个“过滤器”。
我有一个名为ARTICLE的表格如下:
CODE | NAME | QUANTITY |
_______________|_________________|_______________
0020717270084 | MANGO FRUIT 1L | 3 |
0884394000774 | ALOE VERA 50CL | 4 |
16 | CHEWING GUM | 10 |
IGLOO | IGLOO ICE | 5 |
我想在CODE上进行SELECT验证。
如果CODE是一个数字并且长度为8或10或13位,我显示CODE ELSE我必须在CODE之前显示*
(简单连接)。
我可以做CASE WHEN,但这对我来说有点棘手。
感谢您的帮助。
答案 0 :(得分:3)
您可以使用case
语句执行此操作。数据库以不同方式执行检查。以下是使用SQL Server的方法:
select (case when len(code) in (8, 10, 13) and code not like '%[^0-9]%'
then code
else '*' + code
end)