在SQL中,通过键盘接受用户提示,然后添加一个通配符来提取类似的内容



我似乎无法让它工作。我需要键入一个单词或字母,并在条目开头返回包含该字母或单词的所有内容。我的代码:

ACCEPT v_name PROMPT 'Enter the name or letter: '
select *
from customer c
where UPPER(c.name) LIKE UPPER('%'||$$v_name||'%');

我使用的是sqldeveloper和sqlplus。

如果您单独使用&v_name,在没有提示的情况下,该工具将自动提示您。如果您想为用户自定义消息,则只需要ACCEPT和PROMPT。

在以&为前缀的字符串中使用变量值时,请将其置于引号内。它是一个替换var,因此不需要串联。替换变量只是在解析SQL之前在查询工具中实现的插值变量,这解释了它们在引号中工作的原因。

select * from customer c where UPPER(c.name) LIKE UPPER('%&v_name%');

或者使用accept自定义提示。注意ACCEPT命令中的v_name上没有&,仅在替换中:

ACCEPT v_name PROMPT 'Enter the name or letter: '
select * from customer c where UPPER(c.name) LIKE UPPER('%&v_name%');

相关内容

最新更新