案列数据库,现在想在数据库层面做脱敏处理。可以使用CASE WHEN语句或者DECODE
CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句
格式:
CASE WHEN condition THEN result
[WHEN...THEN...]
ELSE result
END
condition是一个返回布尔类型的表达式,如果表达式返回true,则整个函数返回相应result的值,如果表达式皆为false,则返回ElSE后result的值,如果省略了ELSE子句,则返回NULL。
比如:
SELECT cname,
CASE
WHEN cname = '李四' THEN
REPLACE ( ID_card, substr( ID_card,- 10, 8 ), '********' )
WHEN cname = '王五' THEN
REPLACE ( ID_card, substr( ID_card,- 8, 8 ), '********' )
ELSE ID_card
END ID_card
FROM course_1
CASE WHEN 多条件加个and,就可以拼接条件了