SQL Server 語法
有點像Switch的語法:
CASE WHEN ... THEN ....END
USE 中文北風 GO --把所有小姐、先生稱呼改為 母 公------------------------ SELECT 員工編號,姓名,'母' AS 性別 FROM 員工 WHERE 稱呼 = '小姐' UNION ALL SELECT 員工編號,姓名,'公' AS 性別 FROM 員工 WHERE 稱呼 = '先生' ORDER BY 員工編號 --↓↓------------------------------------------------ --SQL2012 IIF的語法---------------------------------- SELECT 員工編號,姓名,IIF(稱呼='先生','公','母') AS 性別 FROM 員工 --↓↓------------------------------------------------ --可以用CASE WHEN ... THEN ... END 語法-------------- SELECT 員工編號,姓名, CASE 稱呼 WHEN '先生' THEN '公' WHEN '小姐' THEN '母' END AS 性別 FROM 員工 --另外:CASE 可以用條件判斷---------------------------- SELECT 產品編號,品名, CASE WHEN 價錢 >=100 THEN '高價位' WHEN 價錢 >=50 THEN '高價位' WHEN 價錢 >=20 THEN '低價位' ELSE '超便宜' END AS 價錢分布 FROM 巨巨
接著是if語法跟while迴圈語法
在SQL Server沒有大括號包住,一律用
BEGIN ... END
另外也沒有for、foreach之類的,只有while
----------------------------------------------------- USE 練練 GO DECLARE @price MONEY SELECT @price=價錢 FROM 巨巨 WHERE 產品編號 = 10 --SQL Server的if語法------------------------------- IF @price > 50 BEGIN PRINT @price PRINT '好貴喔' END ELSE BEGIN PRINT @price PRINT '好便宜喔' END --SQL Server的迴圈語法(只有while)-------------------- USE 練練 GO DECLARE @price MONEY DECLARE @name VARCHAR(10) DECLARE @id INT DECLARE @count INT SET @id =1 SELECT @count=COUNT(*) FROM 巨巨 WHILE @id <=@count BEGIN SELECT @id=產品編號,@name =品名,@price=價錢 FROM 巨巨 WHERE 產品編號 = @id PRINT CONCAT(@id,' ',@name,' ',@price) SET @id = @id+1 END --等同:SELECT 產品編號,品名,價錢 FROM 巨巨-----------
留言
張貼留言