转自:http://leiquanrui.iteye.com/blog/909458
oracle对包括表名在内的所有对象名的大小写在一般情况下都是不区分的,因为它默认会将所有小写对象名转化为大写!
因为这个特性,导致表面看来oracle好像是不区分大小写的。但实际上oracle内部有两种对象名处理方式:加引号方式和不加引号方式。
(1)当不加引号时,对象名只能使用以字母开头的普通字符,并且会自动将所有小写字符转为大写字符;
(2)当加引号时,对象名可以使用任何字符,包括各种符号字符,同时也区分大小写!加引号可以理解为,严格按照引号里面的字符名进行建表
在写sql时候,无论表名和字段名都不要加引号,这样比较安全。
另外,在使用pd生成sql时,应该要注意一下,pd默认是会添加引号的。
摘抄如下:
用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号。其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照ORACLE默认的设置建表(DBA STUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1”。如果你把引号去掉,ORACLE自动默认为全部大写,即“COLUMN_1”,所以这段SQL在PL/SQL中执行的时候是没有任何问题的,如果不加引号,在PL/SQL会自动识别为大写。
如果加了引号,sql或者hql查询“Column_1='XXX'”时,就会报错:ORA-00904: "COLUMN_1": 无效的标识符,除非写为“‘Column_1’='XXX'”。也就是说,如果创建的时候加了引号,查询和使用的时候也要加引号,所以,如果没有特别要求,还是不加引号的方便。
这个问题是生成脚本格式的问题,因此,我们可以尝试在DBMS配置文件中修改相应的格式设置来解决这个问题。选择DBMS Properties,选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。这样就可以不添加引号了!
相关推荐
虽然在Oracle中默认采用全部大写的形式可以简化查询过程,但对于那些希望保留标识符原始大小写状态的开发者来说,通过使用PowerDesigner或其他方法来创建表和字段,可以使Oracle中的表及字段显示为区分大小写的形式...
总的来说,Oracle中进行金额大小写的转换涉及到对数字字符串的处理、自定义函数的编写以及对汉字数字的映射理解。虽然Oracle本身不直接提供这样的功能,但我们可以通过PL/SQL编程来实现。希望这个示例能帮助你理解并...
Oracle数据库在默认情况下被广泛认为...在开发和维护Oracle数据库时,应尽量避免使用引号标识对象名,除非有特殊需求,以减少潜在的大小写问题。同时,为了提高代码可读性和一致性,建议始终使用大写字母来编写对象名。
首先,我们来看标签中的关键词"Oracle 金额大小写转化"。在Oracle SQL中,没有内置的函数可以直接将数字转换为汉字大写的金额。因此,我们需要编写自定义的函数来完成这个任务。这里提供一个名为`num2rmb`的函数示例...
### ORACLE中数据字典大小写问题 #### 数据字典大小写敏感性 在Oracle数据库中,对于数据字典中的表名和字段名,Oracle实际上处理这些名称时默认是大小写敏感的。这意味着如果创建了一个名为`myTable`的表,并且...
1. **统一命名规范**:在创建数据库对象时,始终遵循一种大小写规则,例如全大写或者全小写,这样在查询时就不需要担心大小写问题。 2. **双引号显式定义**:在创建和引用对象时,使用双引号将名称括起来,如`CREATE...
总结一下,Oracle提供了一系列工具和函数来处理金额转换和格式化,包括使用自定义函数实现金额的大小写转换,使用`TO_CHAR`函数进行基本的格式化,以及利用NLS参数实现国际化。理解并熟练掌握这些技术,对于在Oracle...
在Oracle数据库中,大小写转换是非常常见的操作,特别是在处理文本数据时。本文将详细解析Oracle中的大小写转换函数以及相关的正则表达式检测方法。 首先,我们有两个主要的大小写转换函数:`UPPER()` 和 `LOWER()`...
人民币小写转大写 人民币小写转大写 人民币小写转大写 人民币小写转大写
这些函数能够满足不同场景下对拼音格式的需求,比如是否包含空格分隔、大小写等。 #### 二、函数定义及使用方法 - **`fn_getpyKGJG`**: 返回带有空格间隔的拼音。 - 参数说明: - `p_str`: 输入的汉字字符串。 -...
其中,对于字符处理的需求非常常见,比如字符大小写的转换。本次讨论的知识点将围绕“PowerDesigner中字符自动转大写”的主题展开,详细解析如何在PowerDesigner中实现这一功能,以及其背后的编程逻辑和技术细节。 ...
对于字段名的大小写敏感性问题,两者采用了不同的处理方式: - **达梦数据库**:支持字段名的大小写敏感性,即在查询结果中会按照原始SQL语句中的大小写返回列名。例如,执行`SELECT typeid, typename FROM T_PUB_...
POWERDESIGNER 生成 Oracle 表名带有引号的问题可以通过修改表名或取消大小写敏感性来解决。 POWERDESIGNER 是一款功能强大的数据建模工具,可以帮助用户设计、生成和管理数据库结构。了解 POWERDESIGNER 和 Oracle...
在某些数据库系统如MySQL,不区分大小写,但在PostgreSQL和Oracle中,大小写敏感。因此,开发人员应统一命名规则,如始终使用下划线分隔单词并全小写(`table_name`),或使用某种大小写约定,以便在不同系统间保持...
第二种方法是在目标数据库(即Oracle 11g数据库)上使用'SEC_CASE_SENSITIVE_LOGON'初始化参数来禁用密码的大小写敏感性。可以使用ALTER SYSTEM命令动态地改变这个参数,设置为FALSE,从而允许密码可以不区分大小写...
Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换...
在Oracle中,用户名通常是区分大小写的,因此在查询时应确保使用正确的大小写格式。 总的来说,SQL和Oracle都提供了内置的系统视图来帮助用户获取数据库中的表数量和表名。通过这些视图,我们可以有效地管理和监控...
根据给定的信息,本文将详细解析“10行代码搞定金额大小写转换”这一功能的实现原理、核心逻辑以及代码解读等内容。 ### 核心功能介绍 本代码的主要功能是将一个数字(金额)转换为对应的中文大写形式,比如将`...