【问题标题】:Unable to fetch names ending with a character in oracle databaseoracle数据库中无法获取以字符结尾的名称
【发布时间】:2021-10-02 10:36:05
【问题描述】:

Oracle - Run SQL Command line

我给出了正确的语法,但我无法获取信息...请帮助!!!

这是我的查询...

SQL> select fname from faculty where fname like 'A%';
FNAME
------------------------------
Amit
Aman
SQL> select fname from faculty where fname like '%';

FNAME
------------------------------
Amit
Aman
Sumit
Suman
Sumathi
SQL> select fname from faculty where fname like '%n';

no rows selected

【问题讨论】:

  • 请显示describe faculty的输出
  • dump 是一个非常有用的功能,可用于诊断此类问题。 select fname, dump(fname) as dump_fname from faculty 的结果是什么?也可以将dump(fname, 17) as dump17_fname 添加到select 列表中。 docs.oracle.com/cd/B19306_01/server.102/b14200/functions046.htm

标签: sql oracle wildcard sql-like


【解决方案1】:

可能与列 FNAME 的数据类型有关。是CHAR吗?如果是这样,Oracle 将在字符串后附加额外的空格,然后您的字符串将与您指定的选择条件不匹配。

为了更清楚,您可以尝试以下查询-

SELECT fname FROM faculty WHERE TRIM(fname) LIKE '%n';

这将修剪多余的空格,然后可能会获取预期的结果。

如需进一步帮助,请发布您的表格结构。

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2017-08-01
    相关资源
    最近更新 更多