18 10 01 自我研讀(三)
=== IIF ( boolean_expression, true_value, false_value )
範例:
select productid,unitprice,
iif(unitprice>50 ,'high','low') as pricepoint
from Production.Products
=== PARSE、TRY_PARSE
-- 繁體中文,日期的順序是:ymd
SELECT PARSE('01/02/03' AS datetime2 USING 'zh-TW') N'日期'
GO
-- 英文 us_english,日期的順序是:mdy
SELECT PARSE('01/02/03' AS datetime2 USING 'en-US') N'日期'
GO
== CHOOSE(index,condition 1,condition 2...)
select CHOOSE(3,'Japan','China','Taiwan')
-- result 'Taiwan'
== CAST CONVERT 區別
CONVERT是專對SQL Server使用的,使日期與時間值,小數之間轉換具有更寬的靈活性。
CAST是兩種功能中更具ANSI標準的功能,即雖然更具便攜性(比如,使用CAST的函數能更容易的被其它資料庫軟體使用),但功能相對弱一些。不過,當小數轉化為數值,並保留原始運算式中的小數數值時,仍然需要使用CAST
== NULLIF COALESCE 區別
NULLIF是專對SQL Server使用的,盡可能使用規範中所支援的標準函數COALESCE
範例:
select productid,unitprice,
iif(unitprice>50 ,'high','low') as pricepoint
from Production.Products
=== PARSE、TRY_PARSE
-- 繁體中文,日期的順序是:ymd
SELECT PARSE('01/02/03' AS datetime2 USING 'zh-TW') N'日期'
GO
-- 英文 us_english,日期的順序是:mdy
SELECT PARSE('01/02/03' AS datetime2 USING 'en-US') N'日期'
GO
== CHOOSE(index,condition 1,condition 2...)
select CHOOSE(3,'Japan','China','Taiwan')
-- result 'Taiwan'
== CAST CONVERT 區別
CONVERT是專對SQL Server使用的,使日期與時間值,小數之間轉換具有更寬的靈活性。
CAST是兩種功能中更具ANSI標準的功能,即雖然更具便攜性(比如,使用CAST的函數能更容易的被其它資料庫軟體使用),但功能相對弱一些。不過,當小數轉化為數值,並保留原始運算式中的小數數值時,仍然需要使用CAST
== NULLIF COALESCE 區別
NULLIF是專對SQL Server使用的,盡可能使用規範中所支援的標準函數COALESCE
留言
張貼留言