西班牙语字符带空格查询的问题

madTiger 2010-02-10 01:58:31
我有一张user表,表里有个字段username
当存入一个带空格的西班牙语字符串时,查询就会有问题
比如AdgTécnico (最后有一个空格)
这时用select * from user where username = 'AdgTécnico'查不到记录
必须用select * from user where username = 'AdgTécnico '(加上空格)
但是如果不带西班牙语的字符,后面有没有空格都能查上来
请问各位 这是因为什么啊?
哦 版本是oracle11g
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
madTiger 2010-02-10
  • 打赏
  • 举报
回复
是我搞错了 谢谢大家 呵呵
iqlife 2010-02-10
  • 打赏
  • 举报
回复
空格也是个字符啊
不可能的吧 ,但是如果不带西班牙语的字符,后面有没有空格都能查上来 ,你说的
'ABC'和'ABC '肯定不一样
YY_MM_DD 2010-02-10
  • 打赏
  • 举报
回复
'AdgTécnico'会等于'AdgTécnico '????
madTiger 2010-02-10
  • 打赏
  • 举报
回复
我要的就是精确查找
用户名是不能重复的
如果查询结果有多个就有问题了
YY_MM_DD 2010-02-10
  • 打赏
  • 举报
回复
=采用的精确查找啊..
madTiger 2010-02-10
  • 打赏
  • 举报
回复
是复制进去的没错
楼上说的问题怎么确认呢?
iqlife 2010-02-10
  • 打赏
  • 举报
回复
你的西班牙语是怎么输入系统的,复制进去的?字符编码集不同的话,好像空格对应的码值也不一样
madTiger 2010-02-10
  • 打赏
  • 举报
回复
回一楼
你那条语句可以查出来结果

回二楼
这个字段是VARCHAR2(64)类型

我想知道的是为什么回出现这种情况呢?
不带西班牙语字符怎么就没问题呢?
luyi6101 2010-02-10
  • 打赏
  • 举报
回复
你的这个字段是char型的吧
Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 
Connected as abc

SQL> create table abc (id1 varchar2(100),id2 char(100));

Table created

SQL> insert into abc values('abcdef ','abcdef ');

1 row inserted

SQL> commit;

Commit complete

SQL> select * from abc;

ID1 ID2
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
abcdef abcdef

SQL> select * from abc where id1='abcdef';

ID1 ID2
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

SQL> select * from abc where id1='abcdef ';

ID1 ID2
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
abcdef abcdef

SQL> select * from abc where id2='abcdef';

ID1 ID2
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
abcdef abcdef

SQL> select * from abc where id2='abcdef ';

ID1 ID2
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
abcdef abcdef

SQL>
YY_MM_DD 2010-02-10
  • 打赏
  • 举报
回复
---这样行不??

select * from user where regexp_like(username,'AdgTécnico')

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧