gpt4 book ai didi

sql - Oracle SQL 三元运算符或函数?

转载 作者:行者123 更新时间:2023-12-05 03:42:58 28 4
gpt4 key购买 nike

是否有像三元运算符或函数这样的简单 Oracle 语法?

这些工作:

with
function qry(v in varchar2) return varchar2 is
begin
return owa_util.ite(v like ('%' || lower('something') || '%'),'Y','N');
end;
select * from my_table where qry(my_col) = 'Y'
with
function qry(v in varchar2) return varchar2 is
begin
return case when v like('%' || lower('something') || '%') then 'Y' else 'N' end;
end;
select * from my_table where qry(my_col) = 'Y'

如果有更简单、更短的语法我想知道。

最佳答案

您可以将 CASE 表达式与 LIKE 一起使用:

SELECT *
FROM my_table
WHERE CASE WHEN my_col LIKE '%something%' THEN 'Y' ELSE 'N' END = 'Y';

DECODEINSTR:

SELECT *
FROM my_table
WHERE DECODE( INSTR( my_col, 'something' ), 0, 'N', 'Y' ) = 'Y';

或者只是简单地使用LIKE:

SELECT *
FROM my_table
WHERE my_col LIKE '%something%';

INSTR:

SELECT *
FROM my_table
WHERE INSTR( my_col, 'something' ) > 0;

REGEXP_LIKE:

SELECT *
FROM my_table
WHERE REGEXP_LIKE( my_col, 'something' );

db<> fiddle here

关于sql - Oracle SQL 三元运算符或函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67050241/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com