【问题标题】:How to change numbers to letters怎么把数字变成字母
【发布时间】:2013-10-03 13:51:45
【问题描述】:

然后我该怎么做。 card_number 列中没有空格或破折号

以这种格式显示 card_number 列的最后四位数字的列:XXXX-XXXX-XXXX-1234。换句话说,卡号的前 12 位使用 Xs,数字的后四位使用实际数字。

【问题讨论】:

  • 如果您在数据库中存储支付卡号码,则几乎可以肯定您违反了PCI DSS。

标签: mysql


【解决方案1】:
select 'XXXX-XXXX-XXXX-' + substring(card_number, 16) as masked_card_number
from your_table

SQLFiddle demo

【讨论】:

  • 感谢您的回复。
【解决方案2】:

借助 substring 和 concat 函数,您可以做到这一点

SELECT CONCAT('XXXX-XXXX-XXXX-', SUBSTRING(card_number, -4) AS masked_cc 
FROM table;

【讨论】:

  • 感谢您的回复。你如何让最后四位数字显示在与 X 相同的列中,例如 XXXX-XXXX-XXXX-1234
  • 谢谢我在你的代码的帮助下弄明白了CONCAT('XXXX-XXXX-XXXX-',(SUBSTRING(card_number, -4))) AS last_4_digits
猜你喜欢
  • 2014-08-13
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 2012-09-16
相关资源
最近更新 更多