今日この日まで、SQL の条件に『正規表現』を使うという発想が無かったのですが(たいていそんな複雑な事はしないし解りにくい)、最近は日本人以外のカタカナ氏名の検索をする事が多くなった事を起因とする要望から、『どうなんだろう』と思って調べた結果です。( 外国人のカタカナ表記では微妙にゆらぎがあるのです ) ※ 結果的にウチは、SQLServer なので、or で文字列作っていくよりは楽になりそうです。 SQLServer 検索条件のパターン照合 LIKE で使用される % や _ 以外に、LIKE 対象の文字列に [] と [^] が使用できます。これだけでも文字列作成が格段に楽です。 ただ、他の RDBMS と比べると『正規表現』としては一番未熟です。 MySQL 3.3.4.7 パターンマッチング 12.5.2 正規表現 LIKE では無く REGEXP を使用して、『select * from 社員マスタ where フリガナ REGEXP '.+オ.+'』みたいな書き方ができます。正規表現として使える演算子はそれほど多くはありませんが、逆に単純で使いやすいとは思います。 PostgreSQL 9.7.3. POSIX正規表現 正規表現をそのまま使える記法のようで、~( チルダ ) を使用して、where の中で検索できるようです。 例) select * from テーブル名 where 列名 ~ '[a-zA-Z]' Oracle REGEXP_LIKE どうやら関数のようなものらしく、where の中で利用すると正規表現に一致する行が戻されるようです。 ( 第三引数で、関数のパターン一致オプション )
|
【SQLExpressの最新記事】
- SQLServer の BCP で INT IDENTITY 列に csv からリストアする
- VBScript : ADO : ODBC接続 : SQLExpress(SQLServer) 接続と通常処理( 更新は SQL で行う )
- Microsoft SQLExpress : sa に空のパスワードを設定する方法
- SQLExpress バッチ DB バックアップ
- C# : VB.net : SQLExpress(SQLServer) : SQL-DMO と同等の SMO によるバックアップ
- SQLServer の OPENDATASOURCE 関数による Excel の参照( Microsoft.Jet.OLEDB.4.0 と Microsoft.ACE.OLEDB.12.0 )
- SQLServer(SQLExpress) : SQL学習用販売管理データとインポート用スクリプト
- SQLExpress 2005( および 2008 ) の接続設定
- SQLExpress 内に存在する表の CREATE 文を取得する
- ファイルから直接データベースを別のPCでリストアする / SQLExpress
- 目的のDBが使用している物理ファイルのパスの確認 / SQLExpress
- ピンポイントですが、SQLServer 2008 は SQLServer 7.0 のデータをロード出来ないのです
- SQLExpress2005 で副問い合わせを含む VIEW が異常終了しました
- VBS : SQLServerよりExcel へエクスポート(Excel製品は必要ありません)
- SQLServer のドキュメント
- VBS : SQLExpress(SQLServer) テーブルの正しい CREATE 文を取得する
- PHP : SQLExpress(SQLserver) : COM による接続処理
- PHP : PDO : SQLExpress(SQLServer)の読み込みと同時更新
- ODBC 用 JDBC : 動的接続 / SQLExpress(SQLServer) / 読み込みながらの行更新
- VBScript : ADO : 純正接続 : SQLExpress(SQLServer) 接続と通常処理