如何显示数字的最后4位,并用的替换数字的其余部分

rta7y2nd  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(395)

如何以这种格式显示数字的最后四位:x-x-x-1234。换言之,卡号的前12位使用xs,最后4位使用实际号码。谢谢您

0h4hbjxa

0h4hbjxa1#

我写了一个函数,你可以用它来做这个工作:你可以把任何数字传递给这个函数,这个函数计算出这个数字的模10000类(即除以10000的其余部分),换句话说就是你的数字的最后四位数。然后函数根据需要连接x-和零。

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

相关问题