一、
In Microsoft SQL Server, if I want to search case insensitively in a case-sensitive database, I can run the following SQL:
SELECT*FROM MyTable
WHERE MyField ='BobDillon'COLLATE Latin1_General_CI_AI
And that will find all "bobdillon" entries.
If I want to do the same in Oracle, I know I can do this:
SELECT*FROM MyTable
WHERE UPPER(MyField)='BOBDILLON'
But I want to know if there is a direct equivalent to the collate keyword, so I can search for case sensitivity and accent sensitivity as I see fit.
a:SELECT*
FROM MyTable
WHERE NLSSORT(MyField,'NLS_SORT = Latin_CI')= NLSSORT('BobDillon','NLS_SORT = Latin_CI')
二、
Where can I query the current case-sensitivity setting of an oracle database?
I've tried looking in v$database
, nls_database_parameters
, and looking through the system packages, but none of them seem to provide the information I need...
In Oracle 10gR2
:
SELECT*FROM NLS_SESSION_PARAMETERS
WHERE parameter IN('NLS_COMP','NLS_SORT')
SQL>ALTER SESSION SET NLS_COMP ='LINGUISTIC'2/
Session altered
SQL>SELECT COUNT(*) FROM dual WHERE'a'='A'
COUNT(*)
----------
1
SQL>ALTER SESSION SET NLS_COMP ='BINARY'
Session altered
SQL>SELECT COUNT(*) FROM dual WHERE'a'='A'
COUNT(*)
----------
0
From documentation:
NLS_COMP
specifies the collation behavior of the database session.Values:
BINARY
Normally, comparisons in the
WHERE
clause and inPL/SQL
blocks is binary unless you specify theNLSSORT
function.
LINGUISTIC
Comparisons for all
SQL
operations in theWHERE
clause and inPL/SQL
blocks should use the linguistic sort specified in theNLS_SORT
parameter. To improve the performance, you can also define a linguistic index on the column for which you want linguistic comparisons.
ANSI
A setting of
ANSI
is for backwards compatibility; in general, you should setNLS_COMP
toLINGUISTIC
http://stackoverflow.com/questions/1244804/where-can-i-query-an-oracle-databases-case-sensitivity
相关推荐
Unicode排序规则遵循Unicode Collation Algorithm (UCA),它为全球所有语言提供了一致的排序方式。在Oracle中,可以设置NLS_SORT参数为BINARY或JAPANESE_UNICODE来使用Unicode排序。 4. **重音和宽度** 在日文中...
- **排序规则**(Collation):定义了字符集中的字符如何进行比较和排序。 ### 二、Oracle字符集配置 #### 2.1 Oracle字符集配置参数 Oracle提供了多种参数来管理字符集设置: - **NLS_LANG**:这是一个环境变量...
在Oracle中,还有一些与字符集相关的概念,如“排序规则”(Collation),它定义了字符之间的比较和排序方式。默认的排序规则可能不满足所有需求,因此可以根据需要创建自定义排序规则。 文档"oracle字符集.doc"很...
9. **Unicode Collation**:Oracle Solaris支持Unicode排序规则,使应用程序能够按照特定语言的规则对字符串进行排序。 10. **Multibyte Character Support**:对于东亚等使用多字节字符集的语言,Oracle Solaris...
5. **排序规则(Collation)**:Oracle提供了多种排序规则,用于确定数据的比较和排序方式,这在处理多种语言的数据时非常关键。用户可以根据业务需求选择相应的排序规则,确保数据的排序逻辑符合预期。 6. **多...
在Oracle数据库中,可能由于其不同的设计哲学,collation问题并不像MySQL中那样常见,但在MySQL中,如果不注意collation设置,可能会导致一些意外的行为,例如数据比较错误。 在上述问题中,表`test`使用了`latin1`...
orai18n.jar解决连接oracle时中文乱码问题。解决字符集不支持错误等问题。 orai18n.jar— 用于 JDK 1.2、1.3、1.4 和 1.5 的 NLS 类。该 jar 文件代替旧的 nls_charset jar/zip 文件。 需要的朋友可以下载试试。
3. 在 `[mysqld]` 后添加以下代码:`default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci` 4. 重启 MySQL 并登录,然后查看字符集:`show variables like '%characte%';`
7. **排序规则(Collation)**: 排序规则定义了字符的比较和排序方式,不同的语言和地区可能有不同的排序规则。 8. **本地化应用开发**: 开发人员可以利用Oracle提供的API和工具,如Oracle globalization Pipeline...
Oracle 9, Oracle 10, and Oracle 11 authentication in the Direct mode is supported Case sensitive login and password in the Direct mode is supported Unicode login and password in the Direct mode is ...
SELECT @collate = convert(sysname, serverproperty('COLLATION')) IF (charindex(N'_CI', @collate) > 0) BEGIN select @collate = replace(@collate, N'_CI', N'_CS') exec ('ALTER database $(DATABASE_NAME) ...
这可以通过设置单用户模式并更改 collation 来实现。 ### **二、利用Repository Creation Utility (RCU) 创建数据库** RCU是用于创建BIEE所需数据库对象的工具,包括Metadata Services和Oracle Business ...
至于查看数据库的字符编码集,MySQL的命令是`SHOW VARIABLES LIKE '%char%'`,它会列出所有与字符集相关的系统变量,如`character_set_database`和`collation_database`。 在Oracle数据库中,设置主键的过程与MySQL...
应特别注意选择默认实例而非命名实例,安装最新的补丁包,并在安装过程中选择正确的Collation设置。混合模式的身份验证模式需要在安装过程中特别指定,以便为SQL Server配置合适的用户权限。安装过程中还可能需要...
数据库是一种存储和管理数据的系统,常见的数据库管理系统有 SQL Server、Oracle、MySQL、DB2、SyBase 等。MySQL 是一种开源的关系型数据库管理系统,广泛应用于 Web 应用程序中。 二、MySQL 安装和配置 MySQL 的...
如今,无论是像Oracle、Microsoft SQL Server这些大型的数据库管理系统,还是像MySQL、PostgreSQL这些上常用的数据库开发系统,都支持SQL语言作为查询语言。 数据库语言包含若干语句、常量、变量、函数、运算符和...
- 在“Set Parameter”中选择“User defined”,并设置字符集和排序规则,例如 `charset=gbk,collation=gbk_ci`。 9. **执行迁移**: - 开始迁移过程,观察输出结果,确保没有错误发生。 10. **处理迁移后的对象...
- ManualSelectedDefaultCharacterSet/Collation:选择缺省字符集,通常选择gbk以支持中文字符。 - InstallAsWindowsServices:将MySQL服务器设置为Windows服务。 - ModifySecuritySettings:为root账户设置密码,...
- New database dialog now uses server charset/collation defaults - Native client was updated (problems with dump/restore compatibility) - MS SQL Server/Azure: driver version was updated, support of...
校对规则同样分为多个级别,如`collation_database`、`collation_server`等,它们决定了字符的比较和排序方式。 解决乱码问题通常有两种方法: 1. 临时修改:通过执行SQL语句来改变当前会话的字符集设置,如: ``...