私はと同様の値を含む列があります。分割数字と文字
034004
034010
06012AB
06012C
06012D
06012P
06026C
06026P
を数字や文字などの2つの別々の列にこれらを分離または分割する方法はありますか?すべての数字に文字が含まれているわけではありませんか?
私は(おそらく)それは、常に番号のいずれかのグループである手紙の一つのグループを想定すると、右の直接
私はと同様の値を含む列があります。分割数字と文字
034004
034010
06012AB
06012C
06012D
06012P
06026C
06026P
を数字や文字などの2つの別々の列にこれらを分離または分割する方法はありますか?すべての数字に文字が含まれているわけではありませんか?
私は(おそらく)それは、常に番号のいずれかのグループである手紙の一つのグループを想定すると、右の直接
に私を指すことができます何のためにSQL Server Management Studioの2005事前に
乾杯を使用しています
SELECT SUBSTRING(YourCol, 0, P),
SUBSTRING(YourCol, P, 8000)
FROM YourTable
CROSS APPLY(SELECT PATINDEX('%[^0-9]%', YourCol + 'A')) Split(P)
数字と文字を2列に分割するのにうまくいきました。よろしくお願いします。 – user1086159
この回答をありがとう、それは私のために働いた。しかし私はスプリット(P)で何をしたのか分かりません。あなたはそれを説明できますか? – ristonj
@ristonjそれは、 'PATINDEX( '%[^ 0-9]%'、YourCol + 'A')'という式の結果を、 'SELECT'節で参照できる' P'のエイリアスより長い表現を繰り返す必要はありません。 –
文字を混在させることができますか(つまり12BA34CD)、それは常に数字になり、その後に文字がありますか? SQLの文字列関数はそれほど素晴らしいものではありませんが、あなたが求めているものはおそらくそれらで処理できます。 – Sparky
それは常に数字の後ろに文字(もしあれば)の設定フォーマットです – user1086159