`

oracle的collation

 
阅读更多

一、

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$databasenls_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 in PL/SQL blocks is binary unless you specify the NLSSORT function.

  • LINGUISTIC

    Comparisons for all SQL operations in the WHERE clause and in PL/SQL blocks should use the linguistic sort specified in the NLS_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 set NLS_COMP to LINGUISTIC

 http://stackoverflow.com/questions/1244804/where-can-i-query-an-oracle-databases-case-sensitivity

 

 
分享到:
评论

相关推荐

    oracle-sort-order-by.rar_oracle_sort - order

    Unicode排序规则遵循Unicode Collation Algorithm (UCA),它为全球所有语言提供了一致的排序方式。在Oracle中,可以设置NLS_SORT参数为BINARY或JAPANESE_UNICODE来使用Unicode排序。 4. **重音和宽度** 在日文中...

    熟知Oracle字符集

    - **排序规则**(Collation):定义了字符集中的字符如何进行比较和排序。 ### 二、Oracle字符集配置 #### 2.1 Oracle字符集配置参数 Oracle提供了多种参数来管理字符集设置: - **NLS_LANG**:这是一个环境变量...

    oracle字符集资料

    在Oracle中,还有一些与字符集相关的概念,如“排序规则”(Collation),它定义了字符之间的比较和排序方式。默认的排序规则可能不满足所有需求,因此可以根据需要创建自定义排序规则。 文档"oracle字符集.doc"很...

    Oracle Solaris 11.3 Internationalizing and LocalizingApplication

    9. **Unicode Collation**:Oracle Solaris支持Unicode排序规则,使应用程序能够按照特定语言的规则对字符串进行排序。 10. **Multibyte Character Support**:对于东亚等使用多字节字符集的语言,Oracle Solaris...

    Oracle Database Globalization Support Guide 11g Release 2 (11.2)

    5. **排序规则(Collation)**:Oracle提供了多种排序规则,用于确定数据的比较和排序方式,这在处理多种语言的数据时非常关键。用户可以根据业务需求选择相应的排序规则,确保数据的排序逻辑符合预期。 6. **多...

    MySQL collation方法

    在Oracle数据库中,可能由于其不同的设计哲学,collation问题并不像MySQL中那样常见,但在MySQL中,如果不注意collation设置,可能会导致一些意外的行为,例如数据比较错误。 在上述问题中,表`test`使用了`latin1`...

    orai18n.jar下载

    orai18n.jar解决连接oracle时中文乱码问题。解决字符集不支持错误等问题。 orai18n.jar— 用于 JDK 1.2、1.3、1.4 和 1.5 的 NLS 类。该 jar 文件代替旧的 nls_charset jar/zip 文件。 需要的朋友可以下载试试。

    Linux系统安装oracle数据库保姆教程

    3. 在 `[mysqld]` 后添加以下代码:`default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci` 4. 重启 MySQL 并登录,然后查看字符集:`show variables like '%characte%';`

    orai18n.zip

    7. **排序规则(Collation)**: 排序规则定义了字符的比较和排序方式,不同的语言和地区可能有不同的排序规则。 8. **本地化应用开发**: 开发人员可以利用Oracle提供的API和工具,如Oracle globalization Pipeline...

    DevArt UniDAC v.3.70.0.18 (15-Jun-2011) (with Source Code)

    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 ...

    biee安装配置文档

    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) ...

    BIEE简易安装手册

    这可以通过设置单用户模式并更改 collation 来实现。 ### **二、利用Repository Creation Utility (RCU) 创建数据库** RCU是用于创建BIEE所需数据库对象的工具,包括Metadata Services和Oracle Business ...

    mysql sqlserver orcle 数据库操作

    至于查看数据库的字符编码集,MySQL的命令是`SHOW VARIABLES LIKE '%char%'`,它会列出所有与字符集相关的系统变量,如`character_set_database`和`collation_database`。 在Oracle数据库中,设置主键的过程与MySQL...

    SAP__ECC6安装

    应特别注意选择默认实例而非命名实例,安装最新的补丁包,并在安装过程中选择正确的Collation设置。混合模式的身份验证模式需要在安装过程中特别指定,以便为SQL Server配置合适的用户权限。安装过程中还可能需要...

    mysql课件.ppt

    数据库是一种存储和管理数据的系统,常见的数据库管理系统有 SQL Server、Oracle、MySQL、DB2、SyBase 等。MySQL 是一种开源的关系型数据库管理系统,广泛应用于 Web 应用程序中。 二、MySQL 安装和配置 MySQL 的...

    MySQL数据库语言及其编程.pptx

    如今,无论是像Oracle、Microsoft SQL Server这些大型的数据库管理系统,还是像MySQL、PostgreSQL这些上常用的数据库开发系统,都支持SQL语言作为查询语言。 数据库语言包含若干语句、常量、变量、函数、运算符和...

    MySQL Migration Toolkit的使用

    - 在“Set Parameter”中选择“User defined”,并设置字符集和排序规则,例如 `charset=gbk,collation=gbk_ci`。 9. **执行迁移**: - 开始迁移过程,观察输出结果,确保没有错误发生。 10. **处理迁移后的对象...

    MySQL数据库-RevD.pdf

    - ManualSelectedDefaultCharacterSet/Collation:选择缺省字符集,通常选择gbk以支持中文字符。 - InstallAsWindowsServices:将MySQL服务器设置为Windows服务。 - ModifySecuritySettings:为root账户设置密码,...

    dbeaver v6.0.2

    - 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...

    mysql数据库中字符集乱码问题原因及解决

    校对规则同样分为多个级别,如`collation_database`、`collation_server`等,它们决定了字符的比较和排序方式。 解决乱码问题通常有两种方法: 1. 临时修改:通过执行SQL语句来改变当前会话的字符集设置,如: ``...

Global site tag (gtag.js) - Google Analytics