1、選擇前N行資料
在SQL Server中使用top可以指定返回的行,對於top,with ties選項很重要。它可以在top返回的結果集之後附加多個行,這些行與top返回結果集的最後一行在order by字句指定的排序列上具有相同的值。
SELECT TOP 3 WITH TIES * FROM dbo.Product ORDER BY Quantity
2、使用空值
2.1、檢測空值
SQL引入了一個特殊的操作符is來檢測特殊值之間的等價特性,其文法格式如下:
WHERE Expression IS NULL
2.2、處理空值
最常用的空值處理函數是isnull(),其文法格式如下:
isnull(source_expression, replacement_value)
3、純量涵式
3.1、伺服器環境資訊
系統函數可以返回有關環境的資訊。
◊ GetDate():以3毫秒為精度返回當前的伺服器日期和時間。
◊ DB_NAME():返回當前資料庫的名字。
◊ SERVERPROPERTY():使用serverproperty(property)函數可以擷取關於伺服器的一些有用的資訊,包括:
1>、Collation:伺服器預設的定序名稱。
2>、Edition:安裝的SQL Server的版本。
3>、EngineEdition:資料庫引擎的版本,其中:1代表個人或者Desktop Engine,2代表標準版,3代表企業版。
◊ InstanceName:使用者串連到的執行個體名稱,如果是預設執行個體則返回空值。
◊ ProductVersion:SQL Server的版本號碼。
◊ ProductLevel:SQL Server執行個體的版本層級,“RTM”表示發售版,“SPn”表示service packs,“Bn”表示beta測試版。
◊ ServerName:伺服器與SQL Server執行個體的全名。
3.2、使用者資訊函數
◊ User_name():返回目前使用者的資料庫使用者名稱。
◊ Suser_name():使用SQL Server鑒別使用者時所使用的登入名稱。
◊ Host_name():返回使用者工作站的名稱。
◊ App_name():返回當前串連到SQL Server的應用程式名稱。
4、建立視圖
視圖在正常情況下是不能包含order by子句的。如果要對視圖的資料進行排序,一般應當在查詢檢視的select語句中使用order by子句。SQL Server允許視圖使用top,因為如果不使用order by字句排序的話,top一般也沒有用處了。所以,如果視圖包含top 100 percent,它就可以使用order by子句。
CREATE VIEW vProductAS SELECT TOP 100 PERCENT * FROM Product ORDER BY ProductNo