Mysql格式化为XXXXXXXXXXXX到XX-XX-XXXXXXX-X的字符串

时间:2013-09-14 19:10:11

标签: mysql

我需要一个看起来像XXXXXXXXXXXX的字符串,看起来像XX-XX-XXXXXXX-X。我不知道MySQL中的一个函数或模式工具可以做到这一点。你呢?

3 个答案:

答案 0 :(得分:4)

在MySQL中,一种方法是使用带有SUBSTRING和CONCAT函数的表达式,如下所示:

CONCAT(
  SUBSTR(str,1,2), 
  '-',
  SUBSTR(str,3,2),
  '-',
  SUBSTR(str,5,7),
  '-',
  SUBSTR(str,12,1)
 ) AS formatted_str

答案 1 :(得分:3)

如果字符串的长度已修复,则可以只进行简单的字符串操作

SELECT pat,
       CONCAT_WS('-', SUBSTR(pat,1,2), 
                       SUBSTR(pat,3,2),
                       SUBSTR(pat,5,7),
                       RIGHT(pat,1))
FROM   tableName

答案 2 :(得分:-1)

看看这个,我认为这正是你所寻找的。

MySQL output masking (i.e. phone number, SSN, etc. display formatting)