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

 

posted @ 2013-03-09 21:07  libingql  阅读(400)  评论(0编辑  收藏  举报