SQLにおけるpatindex関数の使用方法を詳しく説明します。
構文形式です。PATINDEX ( '%pattern%' , 式 )
式expressionの中で、パターン文字列が最初に出現する位置を1から順に返します。
パターン文字列がexpression式に見つからない場合は0を返す。このデータ型は、すべての有効なテキストと文字列に対して有効である。
この関数の具体的な使い方を記述する。
1. PATINDEX ( '%pattern%' , 式 )
pattern%'の使い方は,'%pattern%'のような使い方と似ている.つまり,そのパターン文字列がexpressionで見つかるかどうかをファジーに見つけ,見つけ,その最初の出現を返すのである.
例えば
select patindex('%b%','abcaabbeeabb')
結果5、abbが初めて登場するところです。
2. PATINDEX ( '%pattern' , 式 )
'%pattern'は、'%pattern'のような使い方と似ていますが、その前にファジールック、つまり、式の中でパターンが終わる位置を探す、つまり後ろからマッチングするようになります。
例えば
select patindex('%b','abcaabbeeabb')
abbの後に最初に現れる位置である10を返します。
select patindex('%b','abcaabbeeabbr')
後続の最初の文字rがabbにマッチしないため、0を返す
3. PATINDEX ( 'pattern%' , 式 )
pattern%' は 'pattern%' と同様、最初に完全探索を行い、次にあいまい探索を行うというものです。
例えば
select patindex('abb%','abbcaabbeeabb')
開始値と同等の1が返される
select patindex('abb%','arbbcaabbeeabb')
先頭に見つからなければ、その後にいくつあっても0を返します。
4.PATINDEX ( 'pattern' , 式 )
これは完全一致検索と同じで、patternとexpressionが完全に等しいことを意味する。
例えば
select patindex('abb','abb')
1を返します。
select patindex('abb','abbr')
正確に等しくない0を返します
5. patindex('%[パターン]%','ddabcaabbeeabbr')。
patindex('%[^pattern]%','ddabcaabbeeabbr')
ここでまず、特定の特殊文字を指定する[]の使い方から見ていきましょう。[^]は[]以外の文字列で、[]はそのそれぞれです。
例えば
Symbol Meaning
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d and abc_de
LIKE 'abc[def]' abcd, abce, and abcf
というように。
select patindex('%[d]%','rcrdsddddaadadffdr')
rcrdsddddaadffdr という文字列の [] 内の d の最初の出現箇所である 4 を返します。
select patindex('%[cd]%','rcrdsdddrdaadadffdr')
c,dが2, []のいずれかに含まれる位置と、その位置の最初の出現を返します。cはこの文字列で最初に出現する2、dは4なので、結果は最初の1つです。
select patindex('%[sd]%','rcrdsdddrdaadadffdr')
4、[]内のc,dの位置、この文字列の最初の位置を返します。
select patindex('%[^r]%','rrrdsdddrdaadadffdr')
4を返す。[]内の文字列の一致する文字以外は、dの最初の出現が[^r]にないので、最初のものを探すだけでよい。
select patindex('%[^rd]%','rrrdsdddrdaadadffdr')
5を返す。[]内の文字列の一致する文字以外は、sの最初の出現が[^rd]にないので、最初のものを探すだけである。
select patindex('%[^rsd]%','rrrdsdddrdaadadffdr')
11を返す。[]内の文字列の一致する文字を除き、aの最初の出現は[^rsd]にないので、最初のものを見つけるだけでよい。
SQLのpatindex関数の使い方についての記事は以上です。SQLのpatindex関数についてもっと知りたい方は、過去の記事を検索するか、以下の記事を引き続きご覧ください。
関連
-
SQLServer 2008は、評価期間が終了したソリューションであることを確認しました。
-
SQL Server 2008のOrder byは、union句で直接利用できない
-
sqlserver 2008 データベースに接続する Java コード
-
sql server 2008 sa パスワードを忘れた場合の解決策
-
SQL Server 2008r2 データベースサービスにおける各種起動不能の解決方法 (詳細)
-
What to do if sql server can't connect SQL Server 2008R can't login solution (181418456)
-
空白の値を他の値に置き換えるSQL
-
vueベースの兄弟コンポーネント間のイベントトリガー(詳細)
-
Sql Server 2008R2アップグレード Sql Server 2012グラフィックチュートリアル
-
SQL Server 2008データベースの定期的な自動バックアップを設定する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
SQLServerの共通関数の概要説明
-
SQL Server 2008のデータベース管理システムは、SQLステートメントを使用して、ログインユーザの手順を作成するために説明した
-
SQL server 2008のログイン認証方式を変更する方法
-
win2008 r2 install SQL SERVER 2008 R2 can't open port 1433 設定方法
-
sqlserver2008 初回ログイン失敗の問題と解決策
-
解決 SQL Server 2008は、". "ローカルローカル接続データベースを使用することはできません問題
-
sql server 2008データベース移行の2つの方法
-
SQL Server 2008 R2 データベースミラーリング導入マニュアル(デュアルコンピュータ) SQL Server 2014 も適用可能です。
-
SQL Server 2008R2チュートリアルのグラフィックの詳細
-
SQLServerウェブサイト構築例