我有兩個表名爲秩序和公衆假期如下:條件選擇語句
順序表:
OrderId OrderDate
---------------------------
1 10 Mar 2017
2 12 Mar 2017
3 30 Mar 2017
公衆假期表:
HoliId | HolidayDate
---------------------------
1 10 Mar 2017
1 16 Mar 2017
1 17 Mar 2017
我想要做的SQL像下面的僞代碼
SELECT OrderId, OrderDate,
if OrderDate is in Holiday Table,
then "public holiday"
else to_char(to_date(DAY, 'dd/mm/yy'), 'OrderDate')
from Order
所以,我想有結果就像下面
OrderId OrderDate DAY
-----------------------------------------
1 10 Mar 2017 Public holiday
2 12 Mar 2017 Monday
3 30 Mar 2017 Friday
我希望看到通過把一列
如果訂單日期是基於公衆假期表或不是公衆假期是否有可能做這個?
'AS'是完全有效的指示列別名 – APC
因此到Oracle SQL參考CASE語句應該以END結束,不是結束,因爲(雖然你是對的 - 它的工作原理):[CASE語句參考](http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm) – m3rgus
'CASE'子句以'END'結尾。 「AS」語法是列別名的可選指示符。因此'orderId as order_no'是'orderId orderno'的替代方法。不知道你爲什麼認爲這很重要。 – APC