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

文字列にASCII文字のみが含まれているかどうかを確認します

    TRANSLATEを使用できます これをする。基本的に、translate すべてのASCII印刷可能文字(それらの数はそれほど多くありません)を取り除き、残っているものを確認します。

    これを行うクエリは次のとおりです。

    WITH input ( p_string_to_test) AS ( 
    SELECT 'This this string' FROM DUAL UNION ALL
    SELECT 'Test this ' || CHR(7) || ' string too!' FROM DUAL UNION ALL
    SELECT 'xxx' FROM DUAL)
    SELECT p_string_to_test, 
           case when translate(p_string_to_test, 
           chr(0) || q'[ !"#$%&'()*+,-./0123456789:;<=>[email protected][\]^_`abcdefghijklmnopqrstuvwxyz{|}~]', 
           chr(0)) is null then 'Yes' else 'No' END is_ascii
    FROM input;
    


    1. 過去4四半期のデータを表示するビューを作成するにはどうすればよいですか?

    2. SalesforceおよびAzureActiveDirectory(AD)シングルサインオン(SSO)でのODBCの使用

    3. MySQLのフィルタを使用した多対多のテーブルの内部結合

    4. ORACLE 11gのテーブル値関数? (パラメータ化されたビュー)