ポンド記号(#)の後に続くスペースの前にあるSQL Server 2012の文字列から数値を取得しようとしています。たとえば、店舗番号。 、450 768、2、678、5、559、32、67、12、1047、3、17、16SQL - ポンド記号(#)の後の文字列から数値を取得
:私は次のように返します
Big Box Store #450
Big Box Store #768
Little Shop #2
Widgets Warehouse #678
Little Shop #5
Widgets Warehouse #559
Corner Boutiques #32 *CLOSED
Corner Boutiques #67 *CLOSED
Corner Boutiques #12
Buy More #1047 SUPERSTORE
1 Stop Shop #3
1 Stop Shop #17
You 2 Me #16
:我々は次があるとしましょうあなたが見るように、すべての文字列が最後に数字を持っているわけではありません。その中には店舗名に数字の文字があるものもあります。私はこれについての最善の方法は、ポンド記号の後の数字を抽出することだけです。
これを行う方法はありますか?
Query to get only numbers from a string
https://www.sqlservercentral.com/Forums/Topic456023-338-1.aspx
それはPATINDEX
のように思えるが、使用してもいいかもしれませんが、私が試したものを、これまで期待返さないように私にはわからないよ:私は以下の記事を見てきました結果。
多くの感謝!
これは素晴らしいと私はテストし、データセットで動作しますが、私のデータ型はchar(65)です。ソリューションは、varcharsとnvarcharsでのみ動作するように見えます。私は何か間違っているのですか、それとも別の方法がありますか?私はそれらをvarchar(65)に変換するいくつかの "CONVERT"関数を投げましたが、うまくいかなかったのです。ありがとう! – jderekc
@jderekc私は 'CHAR'バージョンを追加しました。 'RIGHT()'関数は 'NVARCHAR'と' VARCHAR'だけを受け入れます。これを 'SUBSTRING'に置き換えました – scsimon
これは完璧です!毎日何か新しいことを学ぶ。助けてくれてありがとう、@scsimon。 – jderekc