0

我无法附上屏幕截图,因为我是这里的新用户。顺便说一句,我正在尝试通过 SQL 查看表中的数据。我使用以下命令创建了表:-

CREATE TABLE  N2 
   (    BOOK_ID VARCHAR2(6) NOT NULL ENABLE, 
    BOOK_NAME VARCHAR2(150) NOT NULL ENABLE, 
    AUTHOR_ID CHAR(6), 
    PUBLICATION_ID CHAR(6), 
    MAJOR_SUB_ID CHAR(6), 
    MINOR_SUB_ID CHAR(6)
   )

但问题是查询没有显示记录:-

Select * from N2 where book_id='B0001';

虽然可以看出有一条记录 book_id=B0001 如果我对 book_id 列使用 char 类型或者我写,这个问题就被消除了

Select * from N2 where book_id like 'B0001%';

另一件事是,其他 varchar2 数据类型的列不会出现此问题。

请帮我。

4

1 回答 1

1

经典:您可能在数据末尾有一个隐藏字符(换行符)的尾随空格......

您可以通过以下方式获得相同的结果:

Select * from N2 where trim(book_id)='B0001';

但最好清理你的数据,因为我认为这个字符不应该出现在你的 ID 字段中

于 2013-07-08T13:12:32.480 回答