[解決済み] 非数字を削除するセレクトクエリ
2023-06-02 10:46:47
質問
可変長アルファベットを持つカラムにダーティなデータがあります。私は、0-9 以外のものを取り除きたいだけです。
関数やプロシージャを実行したいわけではありません。テキストの後に数値を取得するだけの似たようなスクリプトがありますが、それは次のようなものです。
Update TableName
set ColumntoUpdate=cast(replace(Columnofdirtydata,'Alpha #','') as int)
where Columnofdirtydata like 'Alpha #%'
And ColumntoUpdate is Null
アルファ # 12345789 という形式でいいと思っていたデータフィールドのいくつかがそうでないことがわかるまでは、かなりうまくいくと思っていました。
ストリップする必要があるデータの例
AB ABCDE # 123
ABCDE# 123
AB: ABC# 123
123だけ欲しいです。確かに、すべてのデータフィールドには、数字の前に#がありますね。
substringとPatIndexを試したのですが、構文がおかしいのか何なのか、よくわかりません。どなたか、これに対処する最良の方法についてアドバイスがありますか?
どのように解決するのですか?
こちらをご覧ください。 ブログ記事 を参照してください。 以下は、例に挙げた文字列を使ったサンプルです。
DECLARE @textval NVARCHAR(30)
SET @textval = 'AB ABCDE # 123'
SELECT LEFT(SUBSTRING(@textval, PATINDEX('%[0-9.-]%', @textval), 8000),
PATINDEX('%[^0-9.-]%', SUBSTRING(@textval, PATINDEX('%[0-9.-]%', @textval), 8000) + 'X') -1)
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] 重複した行を削除するにはどうすればよいですか?
-
[解決済み] TSQLで改行文字を置換する
-
[解決済み】結合を使用したSQL更新クエリ
-
[解決済み] sp_executesqlの結果を変数に取得する方法は?
-
[解決済み] バッチ」とは何か、なぜ「GO」が使われるのか?
-
[解決済み] Microsoft tSQL で行が見つからなかった場合に値を返します。
-
[解決済み] テーブル作成時のデフォルト制約の宣言
-
[解決済み] T-SQL クエリ結果に対するループ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] T-SQL CASE句。WHEN NULLの指定方法
-
[解決済み] TSQLで改行文字を置換する
-
[解決済み】T-SQLのCASE句。WHEN NULLを指定する方法
-
[解決済み] T-SQLストアドプロシージャでオプションのパラメータを使用するにはどうすればよいですか?
-
[解決済み] sp_executesqlの結果を変数に取得する方法は?
-
[解決済み] テーブル作成時のデフォルト制約の宣言
-
[解決済み] データベース内の任意のテーブルの任意のカラムにある1つの値を検索する。
-
[解決済み] カーソル・ループで使用するために、複数のカラムをフェッチするにはどうすればよいですか?
-
[解決済み] T-SQLにおけるレーベンシュタイン距離
-
[解決済み] T-SQL クエリ結果に対するループ