SQLSERVER 変数文字列を用いたスプライシング ケース詳細
2022-01-05 03:07:28
I. スプライス文字列(分割しない文字列全体)ステップ。
- まず文字列をシングルクォートで囲みます。
- の変数を文字列中の'''+@para+'''として入力します。
- 実行中に型変換エラーが発生した場合は、適切な型変換関数(cast()関数など)を適用して、変数を型変換します。
例1.
SQLスプライスされた文字列を含むストアドプロシージャ。
Create Procedure Test
@TestID int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='''+cast(@TestID as varchar)+''''
print @s
exec(@s)
実行します。
exec Test @TestID=1
実行結果です。
2つ目は、文字列のスプライス(文字列分割)手順です。
- 変数を含まない文字列は、前後にシングルクォートで囲む
- 変数を含まない文字列を+でスプライスする。
- 変数に'''+@para+'''をつける。(@para は変数名)。
- プロシージャの実行時に型変換エラーが発生した場合、適切な型変換関数を用いて変換します。
例2.
SQL文字列を含むストアドプロシージャ。
Create Procedure Test
@TestID int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='+''''+cast(@TestID as varchar)+''''
print @s
exec(@s)
実行します。
exec Test @TestID=1
実行結果です。
今回の記事は、SQLSERVERの変数文字列によるスプライシングについてです。SQLSERVERの可変文字列によるスプライシングについては、スクリプトハウスの過去記事を検索するか、引き続き以下の関連記事を閲覧してください。
関連
-
SQLにおける3つの重複排除手法の概要
-
SQL Server テーブルパーティション削除の詳細
-
SQL SERVERのストアドプロシージャを使用した履歴データの移行について
-
SQL Server2017では、IPをサーバー名としてサーバーに接続します。
-
DataGrip Formatting SQLの実装(カスタムSqlフォーマット)
-
Filestreamの簡単な使い方まとめ
-
NavicatはSQL Serverのデータに接続します。エラー08001に対する完璧な解決策 - Named Pipeline Provider
-
SQL SERVERのコミット・トランザクションのロールバック機構
-
SQLサーバーのデータベースで、SAユーザーがロックされている問題を解決する
-
SQLでのmod()関数の余りの使用法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
SQL Server 2019 データベースバックアップ&リストアスクリプト(一括バックアップ)
-
SQLの書き方--行ごとの比較
-
mybatis動的SQL実装ロジックコード詳細
-
リレーショナルデータベースと非リレーショナルデータベースの紹介
-
SQL文におけるJOINの利用シーンの分析
-
SQLServerにおけるJSONドキュメント型データのクエリ問題を解決する。
-
SQL クエリ結果カラムのカンマ区切り文字列へのステッチング法
-
そのPHP環境の普遍的なパスワードのSQLインジェクションの脆弱性と防御手段
-
データベース毎日練習問題、毎日少しづつ進歩(2)
-
Spark SQLの全体的な実装ロジックの説明