Sql Server系列:Select检索数据
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 vProduct AS SELECT TOP 100 PERCENT * FROM Product ORDER BY ProductNo