ORACLE多欄位CASE WHEN
case when可以根據條件重設某個欄位的返回值,但是一般情況下都是根據本欄位的值來返回需要的值,如:
select t.Name,
(case t.id --此處可以省略括號,改變id為name
when 1 then 'zhao'
when 2 then 'qian'
when 3 then 'sun'
else 'li'
end) --注意不要丟掉end關鍵字哦
from T t;
(case t.id --此處可以省略括號,改變id為name
when 1 then 'zhao'
when 2 then 'qian'
when 3 then 'sun'
else 'li'
end) --注意不要丟掉end關鍵字哦
from T t;
但是如果根據多個欄位來限制返回值,case when一樣也是可以處理的:
SELECT
CASE
CASE
WHEN t.flag=1 AND t.date<=SYSDATE-2 THEN 1
ELSE 0
END as new_flag
FROM t;
FROM t;
這樣,凡是flag=1並且date為兩天之前的,就返回值1,否則返回0,該欄位為一個偽列欄位,可以起一個任意的別名,如new_flag。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/751371/viewspace-708176/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Case WhenOracle
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法Oracle
- Oracle的order by case whenOracle
- oracle plsql case when_end case小記OracleSQL
- Oracle case when改寫SQLOracleSQL
- 案例:oracle中case when的用法Oracle
- Oracle group by與case when統一單位後統計數量Oracle
- SQL Case WhenSQL
- mysql case when then 使用MySql
- Oracle vs PostgreSQL Develop(30) - Index&Case whenOracleSQLdevIndex
- oracle面試題[關於case when的用法]Oracle面試題
- ORACLE SQL開發where子句之case-whenOracleSQL
- Case when 支援變數變數
- case when遇上null值Null
- Oracle 條件索引 case when 報錯解決方案Oracle索引
- sqlserver與oracle case when else ,isnull語法差別SQLServerOracleNull
- mysql中case when的使用MySql
- mysql中的case when 與if()MySql
- SQL中的CASE WHEN使用SQL
- PL/SQL Case when應用SQL
- sql case when, Exist ,group by ,聚合SQL
- plsql_case when_end case學習小例SQL
- oracle複合索引介紹(多欄位索引)Oracle索引
- Oracle如何實現多個欄位去重Oracle
- oracle:聯表更新多個欄位的值Oracle
- SQLServer使用case when中的order bySQLServer
- SQL Case when 的使用方法SQL
- plsql_case when_if else endifSQL
- sql中case when的小學SQL
- oracle刪除表欄位和oracle表增加欄位Oracle
- SQL中的case when then else end用法SQL
- sql server select case when的用法SQLServer
- MySQL 的CASE WHEN 語句使用說明MySql
- oracle中lob欄位Oracle
- lucene 多欄位查詢-MultiFieldQueryParser
- PLSQL條件(CASE WHEN)語句小應用SQL
- 將多個JSON欄位對映到單個Java欄位JSONJava
- Oracle-欄位的新增Oracle