MySql,oracle,sql中对于大小写字符串的查询怎么设置?

比如,要查询TEST的用户名,select * from user where username = 'TEST'.但是查出来的都是‘test’的,默认并没有区分大小写,所有的大写都默认是小写的。在这三种数据库中,我分别该怎么写
最新回答
梦他

2024-11-27 13:42:29

字符串都是区分大小写的,都是用upper(字符串)转大写
lower(字符串)转小写
追问
不是的,至少mysql不是,你可以先试试
追答
select UPPER('abc');
select lower('Abc');
刚实验过了
追问
你这样是吧字符串都转化成大小写了呀,如果我要查询‘ABc’,而不是‘ABC’或者‘abc’不就不好使了吗?
select * from user where username = 'TEST',在数据库中有test用户,但是我这么写也能查到,写成'Test'也能查到
追答
这个没办法了,如果想避免这种情况,只能在向test表中添加数据全部改成大写或小写,避免出现这种情况
追问
在mysql里,select * from user where username =binary( 'Test')就可以,oracle和sql里我不知道怎么写,貌似不行
你刚好出现

2024-11-27 11:31:30

select * from user where username = upper('TEST')

2024-11-27 11:23:19

linux系统才需要大小写。而window不用
罂语

2024-11-27 15:03:05

oracle,sqlserver 好像都不区分大小写吧。但是要注意关键字。