- 締切済み
SQLサーバーでの正規表現メタ文字について
SQLサーバー2008を使用しています。 SQL文のwhere句で 直前のアイテムの1回以上の繰り返しを意味するメタ文字を教えてください。 Postgresqlであれば、0回以上だと「*」、1回以上だと「+」だと思うのですが、 SQLサーバーだと何にあたるのでしょうか? ぐぐって検索してみたのですが、見つかりませんでした。 どうかよろしくお願いいたします。
- ken6791
- お礼率32% (27/83)
- SQL Server
- 回答数1
- ありがとう数13
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
関連するQ&A
- SQL文長の制限
PostgreSQL8.1.3にて、長いwhere句のあるSELECT文を実行したところ、 「server closed the connection unexpectedly」 のエラーとなってしまいました。 エラーとなったSQL文は317726文字で、 where句のin条件のリスト個数が非常に多くなっています。 試しに、in条件のリスト部分を減らし、 156000文字までSQL文を短く短くしたら、エラーは回避できました。 in条件ではなくor条件に変更すると、エラーとの境目のSQL文長は上記とは異なることから、 SQL文長だけが影響しているとは思えません。 SQL文を改修して、エラーを回避するにしても、ここらへんの限界値がわからないと改修できませんので、 改修の目安(信頼できるSQL文長がどのくらいなのかなど)をご教授お願いします。
- ベストアンサー
- PostgreSQL
- SQL Serverでの検索時の文字の同一視
SQL Serverでの検索について教えてください。 【目的】 ・JAVAで作成した検索画面より、SQLServerのテーブルに対して検索をしたい。 ・フリガナ検索で、以下のルールを設けたい (1)カタカナ小文字(『ッ』『ャ』等)とカタカナ大文字(それぞれ、『ツ』『ヤ』)を区別せず、同一視したい (2)濁音(『バ』)・破裂音(『パ』)・清音(『ハ』)を区別せず、同一視したい (3)半角スペースと全角スペースを無視したい (4)アルファベット小文字(『a』等)とアルファベット大文字(『A』)を区別せず、同一視した ≪例≫ Aテーブル/フリガナ : ケンサク キョウダイ 検索ワード ・ケンサク キョウダイ(完全一致) ・・・ ○ ・ケンサク キヨウダイ(上記(1)) ・・・ ○ ・ケンサク キョウタイ(上記(2)) ・・・ ○ ・ケンサクキョウダイ(上記(3)) ・・・ ○ という結果にしたい。 【現時点】 ・照合順序をSQL文でしようしたら、 (2)は『AI』で対応できました。 (4)は『CI』で対応できました。 ・(3)はSQL文のWhere句に、半角スペースを無効にする『Replace』と全角スペースを無効にする『Replace』を記述することで対応できました。 ・(1)だけがどうしても対応できません。 →(3)の対応と同様に『Replace』での対応も可能なのですが、9つ程度(『ッ』『ャ』『ュ』『ョ』『ァ』『ィ』『ゥ』『ェ』『ォ』)追加しないといけないので、処理速度の低下が懸念点です。 どなたかいい方法をお持ちの方がいましたら、ご協力お願いいたします。 ■バージョン:10.50.1600.1 以上
- 締切済み
- SQL Server
- 正規表現でSQLのエスケープ
C# 2.0 & SQLServer2000 でプログラムを作成しています。 通常のADOではなく、サードパーティーのDBコンポーネントを使ってDB周りはやっているのですが、その際に SQL 文は自分でエスケープしてやる必要があることに後から気付き、正規表現でSQL文をまとめてエスケープすることはできないかと考えています。 正規表現を使って実現したい事は以下です。 ・文字列中の ' (シングルクォート)を '' (シングルクォート2つ)に置換 ・ただし、 where field = 'xxxx' のように文字列を間に入れている場合の ' は置換しない WEBなどで調べても見つかりませんでした。どなたか正規表現に強い方、教えてください。
- 締切済み
- その他(プログラミング・開発)
- 正規表現で分かりません
例えば以下のようなパターンの正規表現チェックがあるのですが、 どのようなものを意味しているか分かりません。 教えていただけますでしょうか。 よろしくお願いします。 以下の情報は調べたのですが。 +(プラス)・・・直前の1文字の1回以上の繰り返しを表現 . (ピリオド)・・・改行コード以外の1文字にマッチするか否か [ ](大括弧)・・・囲みの中に書かれた任意の1文字にマッチするか否か ^([^ ]+) +[^ ]+.+S3.lzh
- ベストアンサー
- Microsoft ASP
- 正規表現[a-z0-9\-\.]* の意味を教えて
[a-z0-9\-\.]* の意味を教えてください。 preg_matchで確かめてみようと思ったのですが、 よく分かりませんでした。 「半角英小文字」か「数字」か「ハイフン」か「ドット」だと思ったのですが、 「半角英大文字」でも、「""」でも「空白」でも「日本語」でも、1が返ってきました。 「*」を調べたら、「直前の表現の0回以上の繰り返しにマッチ」て書いてあったのですが、 「0回以上」の意味が分かりません。 「すべてに当てはまる」ということなのでしょうか?
- ベストアンサー
- PHP
- SQLで、列名の後ろに「||」 これは?
基本的なことで申し訳ありません。 SQLのWhere句で、<列名>||'' = 値 という記述があったのですが、 これはどういう意味なのでしょうか? 検索で探そうと思っても、「||''」などの記号を上手く探せなくて・・・ 教えてください。よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- PL/SQLでのSQL文法
こんにちは。教えてください。 PL/SQLを使うのが初めで戸惑っています。 まず、PROCEDUREで =========================== BEGIN SELECT NAME FROM TABLE1 WHERE NAME='tanaka'; END; / =========================== このように書いて実行させようとすると、「コンパイルエラー」 「INTO句はこのSELECT文に入ります」というエラーが出ます。 SQLの文法的には間違ってないと思うのですが、INTO句とはこれいかに?? ネットでPL/SQLで検索かけて調べたのですがあまりにも初歩すぎて わかりませんでした。 PL/SQLやORACLEのメーリングリストでお勧めがありましたら教えてください。 よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- 文字クラス外部のメタ文字 「?」
"/\b([AIUEOaiueo].*?)\b/"が何を言っているか分かりません。 //…正規表現は//で囲む \b…文字クラス外部に記入されるもので単語の境界を表す。 ([AIUEOaiueo].*?)という正規表現文字列で検索対象文字列を検索する。 ()…文字クラス外部に書かれて、サブパターンを意味するようですが、 サブパターンとはグループ化と同じ意味で、ここでは、グループ化して単語([AIUEOaiueo].*?)と書いているのでしょうか? []…[AIUEOaiueo]は先頭文字がAIUEOaiueoの文字 . …改行を除く全ての文字にマッチ * …0回以上の繰り返し。 この場合、"."で表されている改行を除く全ての文字の繰り返し。 ? …"("の意味を拡張。0回または1回の繰り返し。最短マッチ。 という意味のようですが、分かりません。この"("は何ですか? 検索対象文字のAmerica,Englandを表示させるのに"/\b([AIUEOaiueo].*)\b/"ではダメなのでしょうか? 検索対象文字は「"Japan" "America" "France" "England"」です。
- ベストアンサー
- PHP
- オラクルsql developerにて
オラクルsql developerにて お世話になります。 単純なsql文だと思うのですが、下記の where句の内容(解釈)が良く理解出来ないのです。 ||が、「または」でその後の'%'がどう言う意味 なのか分からないのです。 どなたか親切な方、ご教授頂きたく、宜しくお願い 申し上げます。 記 where 商品種類 like 'aa10%' || '%'
- ベストアンサー
- Oracle
- PHP PDO prepare後のsql変更
$sql = "select item from items"; $pdo->prepare($sql); とした後に $sql に where 句を後付でつけることなど出来ますか?
- ベストアンサー
- PHP