如何显示数字的最后4位并将其余数字替换为XXXXXXXXX的

时间:2018-11-25 21:18:00

标签: mysql mysql-workbench

如何显示广告的后四位 此格式的数字:XXXX-XXXX-XXXX-1234。换句话说,第一个使用Xs 卡号的12位数字和实际数字(最后4位数字)。 感谢YOu

1 个答案:

答案 0 :(得分:0)

我写了一个函数,可以用来完成这项工作:您可以将任何数字传递给该函数,该函数计算数字的10000模(即除以10000的余数),换句话说,最后一个您电话号码的四位数。然后该函数将XXXX-XXXX-XXXX-和零连接起来。

DELIMITER $$
CREATE FUNCTION N_CREDIT_CARD 
(NUMBER INT)
RETURNS VARCHAR(19)
DETERMINISTIC
BEGIN
  DECLARE NUM INT;
  SET NUM=NUMBER%10000;
  RETURN (CASE WHEN NUM < 10 THEN CONCAT('XXXX-XXXX-XXXX-000', CAST(NUM AS CHAR(1)))
               WHEN NUM < 100 THEN CONCAT('XXXX-XXXX-XXXX-00', CAST(NUM AS CHAR(2)))
               WHEN NUM < 1000 THEN CONCAT('XXXX-XXXX-XXXX-0', CAST(NUM AS CHAR(3)))
               ELSE CONCAT('XXXX-XXXX-XXXX-',CAST(NUM AS CHAR(4))) END);
END$$
DELIMITER;