我对SQL非常陌生,我想知道我是否能够在选择部分放置比较操作符无
Select (value> value1, "True","False") as Comparison From Table
bweufnob1#
**对于SQL Server:**有两个选项IIF函数:
IIF
Select IIF(value> value1, 'True','False') as Comparison From Table
CASE函数:
CASE
SELECT CASE WHEN value> value1 THEN 'True' ELSE 'False' END as Comparison From Table
**对于Oracle:**您可以使用CASE函数:
62lalag42#
考虑到你在评论中的加入是可以的,你可以这样尝试:
Select -- ... ... ... CASE WHEN s.TOT_AMT > 0 THEN 'Credit' ELSE 'Debit' END "CREDIT_DEBIT", -- ... ... ... FROM sum_by_alloc_id s INNER JOIN last_by_alloc_id l ON(l.ORGNTNG_CASH_ID = s.ORGNTNG_CASH_ID) INNER JOIN first_by_alloc_id f ON(f.ORGNTNG_CASH_ID = s.ORGNTNG_CASH_ID) INNER JOIN first_row_not_only_suspense fns ON(fns.ORGNTNG_CASH_ID = s.ORGNTNG_CASH_ID) LEFT JOIN agrmnt_dtls a ON(a.AGRMNT_NBR = l.DERIVED_AGRMNT_NBR)
jqjz2hbq3#
如果你试图以这种方式查询,它将只返回布尔值,因为你试图在两个值之间进行比较。由于“真”和“假”只是字符串,它将只打印“真”和“假”。你可以看到下图中的参考
3条答案
按热度按时间bweufnob1#
**对于SQL Server:**有两个选项
IIF
函数:CASE
函数:**对于Oracle:**您可以使用
CASE
函数:62lalag42#
考虑到你在评论中的加入是可以的,你可以这样尝试:
jqjz2hbq3#
如果你试图以这种方式查询,它将只返回布尔值,因为你试图在两个值之间进行比较。由于“真”和“假”只是字符串,它将只打印“真”和“假”。你可以看到下图中的参考