【问题标题】:oracle sql developer table column without quotationsoracle sql开发者表列不带引号
【发布时间】:2013-04-08 18:45:13
【问题描述】:

我正在使用 SQL Developer 创建 oracle 表。我正在尝试创建不带引号的列,但是在创建表之后,当我看到 DDL 时,所有列和表名都在引号中。我希望所有列都不区分大小写。

我该怎么做?请指教。

这里的上下文是,我在 PHP 中有我的代码。我正在将我的后端从 MySQL 迁移到 Oracle。在使用 MySQL 时,我以小写形式引用了所有表列。但看起来OCI_FETCH_ARRAY 返回大写列中的数据。 那么我是否必须更改我的 PHP 代码才能使用大写字母,或者还有其他替代方法吗?我有很多代码要改!!

【问题讨论】:

    标签: oracle11g oracle-sqldeveloper


    【解决方案1】:

    啊,终于明白了。是的,我同意,引号并不总是使对象区分大小写,但我的问题是OCI_FETCH_ALLOCI_FETCH_ARRAY 等以大写形式检索了表列,而我希望它们以小写形式出现。以下语句是该问题的解决方法。它将列转换为小写。

    $data_upper = oci_fetch_assoc($data_res);
    $data = array_change_key_case($data_upper, CASE_LOWER);

    谢谢!!

    【讨论】:

      【解决方案2】:

      引号并不总是使对象区分大小写。全部大写的对象始终不区分大小写,即使它们被引号括起来。

      SQL> create table test1("QUOTES_DONT_DO_ANYTHING_HERE" number);
      
      Table created.
      
      SQL> select quotes_DONT_do_ANYTHING_here from test1;
      
      no rows selected
      

      您通常只会看到引号,因为有些工具会自动将引号添加到所有内容中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-09
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        • 1970-01-01
        • 2014-01-11
        • 1970-01-01
        相关资源
        最近更新 更多