sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008 R2 - スカラー UDF で無限ループが発生する

    SELECT PATINDEX('%[^a-]%', N'aaa-def' COLLATE Latin1_General_BIN), PATINDEX('%[^-a]%', N'aaa-def' COLLATE Latin1_General_BIN) , PATINDEX('%[^a-]%', 'aaa-def' COLLATE Latin1_General_BIN), PATINDEX('%[^-a]%', 'aaa-def' COLLATE Latin1_General_BIN)  

    返品

    ---------- ----------- ----------- ----------- 1 5 5 5  

    varchar のようです 末尾の - のデータ型 nvarchar の場合はセットの一部として扱われます 無視されます (a のような不正な範囲として扱われます) も無視されますか?)

    LIKE の BOL エントリ - の使用方法について明示的に述べていません [] 内 セットの一部として扱われるようにしますが、例があります

    LIKE '[-acdf]'  

    -、a、c、d、または f に一致する したがって、セットの最初のアイテムである必要があると想定しています(つまり、その [^a-zA-Z0-9.~_-] [^-a-zA-Z0-9.~_] に変更する必要があります )。これは、上記のテスト結果とも一致します。



    1. ORACLE例外の処理

    2. MySQL列タイプTIMESTAMPには、暗黙的にNOT NULL DEFAULT CURRENT_TIMESTAMP ONUPDATECURRENT_TIMESTAMPが含まれます

    3. シェルを介してMySQLに接続できるのに、Pythonを介して接続できないのはなぜですか?

    4. mysql:リモートIPを使用してローカルホストに接続しようとしたときに接続が拒否されました