我有这个问题一直困扰我一个小时。
表:
--------------------------------------------
NAME | CHAR(10) |
SURNAME | CHAR(10) |
RANK | VARCHAR2(5)|
--------------------------------------------
如果姓氏以字母'n'
结尾,我想提取NAME和SURNAME。
注意:LIKE
对char(10)的效果不佳,所以我将该列转换为varchar2(10),使用:
ALTER TABLE students
MODIFY SURNAME VARCHAR2(10);
我试过这个:
SELECT NAME,SURNAME
FROM students
WHERE SURNAME LIKE '%n';
不幸的是它给了我:没有选择行。
我认为我的专栏在最后一个字符后面有空格..
我仍然不知道自己的状况应该如何。
我甚至试过调用to_char()函数,它给了我相同的输出。
答案 0 :(得分:3)
您可能在数据中存在空格问题。
试试这个:
SELECT NAME, SURNAME
FROM students
WHERE rtrim(SURNAME) LIKE '%n'
答案 1 :(得分:0)
您提到的列上可能有类型转换,请尝试。
选择姓名,姓氏 来自学生 其中rtrim(upper(surname))喜欢'%N';
答案 2 :(得分:0)
尝试此选择:WHERE CHARINDEX(' n',姓氏)> 0