【问题标题】:How to use IF ELSE condition for SQL in Netezza如何在 Netezza 中对 SQL 使用 IF ELSE 条件
【发布时间】:2017-01-11 09:52:18
【问题描述】:

我想根据从 json 传递的参数执行某些 SQL 语句,它们都应该在单个 SQL 中。

我有3个条件,即

1.给 2.拿 3. 两者都

现在在 Netezza SQL 中,

我想要如下的东西:

if %input = 'Give'
   set of give sql statements
else if %input = 'Take'
    set of take sql statements
else
    set of both sql statements.

搜索后我找到了下面的链接,但不确定这在 Netezza 中是否可行。

Can you have if-then-else logic in SQL?

How do I perform an IF...THEN in an SQL SELECT?

有人可以指导我吗?

我是 Netezza 数据库的新手

谢谢 麦迪

【问题讨论】:

    标签: sql netezza


    【解决方案1】:

    您可以尝试使用 casedynamic SQL 来执行此操作(您可能需要检查语法,因为我没有经常使用 Netezza):

    declare sql nvarchar(10000)
    sql := case 
            when %input = 'Give' then 'statement1; statement2;'
            when %input = 'Take' then 'statement3; statement4;'
            else 'statement5; statement6;'
           end
    execute immediate sql
    

    【讨论】:

    • 会查一下。能解释一下sql声明为nvarchar吗?
    • @maddykemen 那只是声明一个变量来保存要执行的动态 SQL 语句,它将由case 语句返回。但是,如果在 Netezza 中声明变量的语法不同,请纠正我。
    • 会尽力让你知道
    猜你喜欢
    • 2019-04-25
    • 2017-01-21
    • 2019-12-28
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多