1

テキストと数字の間で「-」で区切られたユーザーIDの数を書き換えたいと思います。例えば:

  • KT-12345
  • BA-98765
  • CC-98765
  • ITA-87987

テキストと数字が混在する膨大な量のデータから。例えば:

  • KT98798
  • CC94788
  • BB87600

質問は次のとおりです。2 番目の例のユーザー ID を最初の例にしたいと思います。MySQL でそれを達成する方法。提案してください。

4

3 に答える 3

1
SELECT
CASE
WHEN floor(substr(name, 3,1)) > 0
THEN CONCAT_WS('-', SUBSTRING(name, 1, 2), SUBSTRING(name, 3, LENGTH(name)))
ELSE CONCAT_WS('-', SUBSTRING(name, 1, 3), SUBSTRING(name, 4, LENGTH(name)))
END AS new_name
FROM test
于 2013-02-16T11:53:09.863 に答える
0

ここにphpでそれを使用する方法の例があります

$str = 'abc123';
preg_match('#([a-z]*)(\d*)#', $str, $match);
echo 'alpha: ' . $match[1];
echo 'num: ' . $match[2];?>  
于 2013-02-16T12:41:00.740 に答える
0

「SELECT」データはありませんが、UPDATE:

UPDATE `table` SET field = REPLACE(field, '-', '');
于 2013-02-16T11:51:35.953 に答える