Oracle中如何设置不区分大小写啊?

时间:2022-10-16 00:59:07
Oraclae的命令是不区分大小写的,但存储的值是会区分大小写的。有没有方法让Oracle像SQL Server一样不区分大小写啊?
不知道大家Oracle设计规范是怎样的?存到Oracle数据库中的时候,将字符全部转换成大写或小写吗?

例如:币别表tb_currency(currency_id,currency_name) currency_id为主键,
insert into tb_currency(currency_id,currency_name) values('RMB','人民币');
insert into tb_currency(currency_id,currency_name) values('rmb','人民币');
上面两句都可以插入进去。
现在统一规范,字符型的数据全部转换成大写后再存入数据库中。但是这个规定有一个问题,如公司名称存储时要求第一个字母为大写其余为小写又怎么办呢?本人Oracle不熟悉,请大家帮忙了。谢谢!

12 个解决方案

#1


google 去找找 转换大小写的函数 

#2


不单单是转换大小的问题啊。老大!

#3


initcap(col_name)第一个字母为大写其余为小写
lower(col_name)全部转换成小写
upper(col_name)全部转换成大写

#4


引用 3 楼 duqiangcise 的回复:
initcap(col_name)第一个字母为大写其余为小写
lower(col_name)全部转换成小写
upper(col_name)全部转换成大写


这个基本上满足你的规则了  

#5


请问你们用Oracle开发程序时是怎么样规范的呢?字符型数据全部转换成大写后再保存吗?

#6


引用 5 楼 rockyljt 的回复:
请问你们用Oracle开发程序时是怎么样规范的呢?字符型数据全部转换成大写后再保存吗?

根据具体的业务需求来,没有放之四海而皆准的原则。

#7


只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

#8


引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

楼主没有说不区分大小写进行比较呀!!!!!!

#9


引用 8 楼 duqiangcise 的回复:
引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

楼主没有说不区分大小写进行比较呀!!!!!!

你的感情 太丰富 了。:-)
我只是认为没有必要不区分大小写进行存储,反而不区分大小写进行排序比较重要。

#10


引用 9 楼 iihero 的回复:
引用 8 楼 duqiangcise 的回复:

引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

楼主没有说不区分大小写进行比较呀!!!!!!

你的感情 太丰富 了。:-)
我只是认为没有必要不区分大小写进行存储,反而不区分大小写进行排序比较重……

彼此彼此!

#11


引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

真理呀

#12


引用 3 楼 duqiangcise 的回复:
initcap(col_name)第一个字母为大写其余为小写
lower(col_name)全部转换成小写
upper(col_name)全部转换成大写

嗯 lz只能按照这种转换 根据你的业务需求进行相应处理了

#1


google 去找找 转换大小写的函数 

#2


不单单是转换大小的问题啊。老大!

#3


initcap(col_name)第一个字母为大写其余为小写
lower(col_name)全部转换成小写
upper(col_name)全部转换成大写

#4


引用 3 楼 duqiangcise 的回复:
initcap(col_name)第一个字母为大写其余为小写
lower(col_name)全部转换成小写
upper(col_name)全部转换成大写


这个基本上满足你的规则了  

#5


请问你们用Oracle开发程序时是怎么样规范的呢?字符型数据全部转换成大写后再保存吗?

#6


引用 5 楼 rockyljt 的回复:
请问你们用Oracle开发程序时是怎么样规范的呢?字符型数据全部转换成大写后再保存吗?

根据具体的业务需求来,没有放之四海而皆准的原则。

#7


只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

#8


引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

楼主没有说不区分大小写进行比较呀!!!!!!

#9


引用 8 楼 duqiangcise 的回复:
引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

楼主没有说不区分大小写进行比较呀!!!!!!

你的感情 太丰富 了。:-)
我只是认为没有必要不区分大小写进行存储,反而不区分大小写进行排序比较重要。

#10


引用 9 楼 iihero 的回复:
引用 8 楼 duqiangcise 的回复:

引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

楼主没有说不区分大小写进行比较呀!!!!!!

你的感情 太丰富 了。:-)
我只是认为没有必要不区分大小写进行存储,反而不区分大小写进行排序比较重……

彼此彼此!

#11


引用 7 楼 iihero 的回复:
只听说过alter sesssion NLS_SORT=binary_ci;
可以不区分大小写进行排序,但是没听说过不区分大小写进行等值比较。

真理呀

#12


引用 3 楼 duqiangcise 的回复:
initcap(col_name)第一个字母为大写其余为小写
lower(col_name)全部转换成小写
upper(col_name)全部转换成大写

嗯 lz只能按照这种转换 根据你的业务需求进行相应处理了