0
例えばI持っている文字列CARDNO = 1111111111111111
(16桁)私はCARDNOのことでダッシュを追加フォーマットしたいのPostgresで文字列XXXX-XXXX-XXXX-XXXXの書式を設定する方法
( - )4桁ごと:
1111-1111-1111-1111
例えばI持っている文字列CARDNO = 1111111111111111
(16桁)私はCARDNOのことでダッシュを追加フォーマットしたいのPostgresで文字列XXXX-XXXX-XXXX-XXXXの書式を設定する方法
( - )4桁ごと:
1111-1111-1111-1111
あなたはPostgresのを使用している場合は、regexp_replace()
機能を活用することができます:ここでは
SELECT regexp_replace(t.col::text, '(\d{4})(\d{4})(\d{4})(\d{4})', '\1-\2-\3-\4', 'g')
FROM
(
SELECT 1111111111111111 AS col
) t
、我々はその後、dasheで交換を構築し、四つのグループで16桁と一致して取り込みますあなたの要件ごとに。
あなたが正規表現の置換のサポートのこのタイプを持っていませんMySQLを、使用している場合は、基本文字列関数を使用する必要がありますが:
SELECT CONCAT(SUBSTRING(col, 1, 4), '-', SUBSTRING(col, 5, 4), '-',
SUBSTRING(col, 9, 4), '-', SUBSTRING(col, 13, 4))
FROM yourTable
ありがとうTim :) – Decode
だけでタグのようにランダムなデータベースを固執しないでください。あなたの問題が関連する特定のものを選んでください。 – tadman
裸のカード番号をデータベースに直接保存することは、標準的な方法ではありません。代わりに、カード番号を暗号化し、データベースにハッシュ文字列を格納します。 – Daenarys