購入した製品の商品説明を含む MySQL データベースのフィールドがあります。これらのいくつかは平易な英語の説明であり、他のものは部品番号であり、他のものは依然として部品番号の後に説明が続きます. replace() を使用して、文字列からすべてのスペースとダッシュを削除しました。
データは次のようになります。
1938420985390asdfih
1234812934810dflkasd
asdfasldkjfaasdfjasd
asd;flkjaklsdf
adfsdf1234073927357sdapjfas
1/4sdikhsd
そして私は戻りたい:
1938420985390
1234812934810
(null)
(null)
1234073927357
(null)
私が本当に必要としているのは、余分な文字/文字ではなく、13 桁の部品番号を返す SQL を作成することです。一致/不一致の 1 または 0 ではなく、実際の数値も返すことをお勧めします。
REGEXP 関数を使用してみました (誰かがregexp ('\d{13}')
orを提案しregexp ('\p{13}')
ましたが、これらは機能しませんでした [これらは、一致した文字列の一部ではなく、0 または 1 を返しました]。何か提案はありますか?
ありがとう!