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

Oracleテーブル名で大文字と小文字を区別しないようにするにはどうすればよいですか?

    [TL; DR]最も簡単な方法は、オブジェクト名を二重引用符で囲むことは絶対にせず、Oracleにデフォルトの方法で大文字と小文字の区別を管理させることです。

    Oracleデータベースは、デフォルトで大文字と小文字が区別されます。ただし、デフォルトでは、大文字と小文字の区別がユーザーから抽象化されるように、すべてが大文字に変換されます。

    CREATE TABLE tEsT ( column_name NUMBER );
    

    次に:

    SELECT COUNT(*) FROM test;
    SELECT COUNT(*) FROM Test;
    SELECT COUNT(*) FROM TEST;
    SELECT COUNT(*) FROM tEsT;
    

    すべて同じ出力を提供します:

    SELECT * FROM USER_TABLES;
    

    出力:

    TABLE_NAME
    ----------
    TEST 
    

    (テーブル名は大文字であることに注意してください。)

    二重引用符を使用する場合、オラクルはテーブル名での大文字と小文字の使用を尊重します:

    CREATE TABLE "tEsT" ( column_name NUMBER );
    

    および:

    SELECT * FROM USER_TABLES;
    

    出力:

    TABLE_NAME
    ----------
    TEST 
    tEsT
    

    (注:TESTという名前のテーブルが2つあります。 およびtEsT オラクルは、2番目のもの(引用符で作成されたもの)の大文字小文字の区別を尊重しています。

    (注:SELECT * FROM tEsT 大文字に変換された最初のテーブルから選択しますが、SELECT * FROM "tEsT" クエリは引用符とは別に同一ですが、2番目から選択する必要があります。




    1. ドロップダウンリストから1つのphpから別のphpに値を渡す

    2. JOIN構文でのMySQL相関サブクエリ

    3. plpgsqlの配列次元をループします

    4. MySQLでJSON配列を検索する方法は?