sql server select case when的用法
select case when
CASE WHEN condition THEN result CASE 子句可以用於任何表示式可以有效存在的地方。 condition 是一個返回boolean 的表示式。 如果結果為真,那麼 CASE 表示式的結果就是符合條件的 result。 如果結果為假,那麼以相同方式搜尋任何隨後的 WHEN 子句。如果沒有 WHEN condition 為真,那麼 case 表示式的結果就是在 ELSE 子句裡的值。如果省略了 ELSE 子句而且沒有匹配的條件, 結果為 NULL。 例子: SELECT * FROM test;
所有 result 表示式的資料的型別都必須可以轉換成單一的輸出型別。 下面這個"簡單的" CASE 表示式是上面的通用形式的一個特殊的變種。 CASE expression 先計算 expression 的值, 然後與所有在WHEN 子句裡宣告的 value 對比,直到找到一個相等的。 如果沒有找到匹配的,則返回在 ELSE 子句裡的 result (或者 NULL)。 這個類似於 C 裡的 switch 語句。 上面的例子可以用簡單 CASE 語法來寫: SELECT a,
CASE 表示式並不計算任何對於判斷結果並不需要的子表示式。 比如,下面是一個可以避免被零除的方法: SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END; |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22392018/viewspace-766753/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法Oracle
- SQL Server CASE WHEN ... THEN ... ELSE ... ENDSQLServer
- SQL中的case when then else end用法SQL
- SQL Case WhenSQL
- 案例:oracle中case when的用法Oracle
- SQL中的case when then else end用法 【詳細】轉載SQL
- SQL中的CASE WHEN使用SQL
- SQL Case when 的使用方法SQL
- sql中case when的小學SQL
- oracle面試題[關於case when的用法]Oracle面試題
- Oracle case when改寫SQLOracleSQL
- PL/SQL Case when應用SQL
- sql case when, Exist ,group by ,聚合SQL
- 關於sql server case when ..else ..end結果型別的小議SQLServer型別
- 轉 sql 中 case 的用法SQL
- sql語法case用法SQL
- 【專案實戰】---SQLServer中case when的簡單用法SQLServer
- Oracle Case WhenOracle
- Oracle的order by case whenOracle
- ORACLE SQL開發where子句之case-whenOracleSQL
- mysql case when then 使用MySql
- SQL語句case when外用sum與count的區別SQL
- mysql中case when的使用MySql
- mysql中的case when 與if()MySql
- sql語句中select……as的用法SQL
- sql server with ...as 用法SQLServer
- Case when 支援變數變數
- case when遇上null值Null
- SQLServer使用case when中的order bySQLServer
- oracle plsql case when_end case小記OracleSQL
- 使用CASE表示式替代SQL Server中的動態SQLSQLServer
- Sql server with as update用法SQLServer
- ORACLE多欄位CASE WHENOracle
- SQL Server中@@ROWCOUNT的用法SQLServer
- sql server merge 的用法SQLServer
- SQL Server中distinct的用法SQLServer
- tcbs_批量儲存過程_sql_case when_示例儲存過程SQL
- plsql_case when_end case學習小例SQL