星空网 > 软件开发 > 数据库

Sql Server API学习

Sql Server API学习

SqlServer

 

  • 排名函数
    • NTILE
  • 表达式
    • COALESCE
    • IIF
    • CHOOSE

 


排名函数

NTILE

语法:

NTILE (integer_expression) OVER ( [ <partition_by_clause> ] < order_by_clause > )

return: bigint
PS:如果总行数不能够补integer_expression整除,按照 OVER 子句指定的顺序,较大的组排在较小的组前面。例如:53分为5组,则前3组为11行,后2组为10行。
将数量为integer_expression的行分为一组,每一组具有各自的编号,组编号从1开始。
A:将行分为组

  1. 1SELECT p.FirstName, p.LastName 
  2. 2 ,NTILE(4) OVER(ORDER BY s.SalesYTD DESC) AS Quartile 
  3. 3 ,CONVERT(nvarchar(20),s.SalesYTD,1) AS SalesYTD 
  4. 4 ,a.PostalCode 
  5. 5FROM Sales.SalesPerson AS s  
  6. 6INNER JOIN Person.Person AS p  
  7. 7 ON s.BusinessEntityID = p.BusinessEntityID 
  8. 8INNER JOIN Person.Address AS a 
  9. 9 on a.AddressID = p.BusinessEntityID 
  10. 10WHERE TerritoryID IS NOT null 


B:使用PARTITION BY划分结果集




表达式

COALESCE

按顺序计算变量并返回最先不为NULL的第一个表达式的当前值

COALESCE(expression,.......)

PS:如果所有的值都为NULL,则至少返回一个NULL
COALESCE 表达式是 CASE 表达式的语法快捷方式。 即查询优化器将代码 COALESCE(expression1,...n) 重写为以下 CASE 表达式:

  1. 1CASE 
  2. 2 WHEN (expression1 IS NOT NULL) THEN expression1 
  3. 3 WHEN (expression2 IS NOT NULL) THEN expression2 
  4. 4 ... 
  5. 5 ELSE expressionN 
  6. 6END 


简单示例代码:

  1. 1SELECT name, Class, Color, ProductNumber, 
  2. 2 COALESCE(Class,Color,ProductNumber) AS FirstNotNull 
  3. 3FROM Production.Product 


IIF

根据ture和false,计算不同的分支表达式
语法:

IIf(Logical_Expression, Expression1 [HINT ], Expression2 [HINT ])
IIf 函数有三个参数:iif(<条件>, <then 分支>, <else 分支>)




CHOOSE

SQL Server 中从值列表返回指定索引处的项。
语法:

CHOOSE ( index, val_1, val_2 [, val_n ] )
参数
index
一个整数表达式,表示其后的项列表的从 1 开始的索引。如果提供的索引值具有 int 之外的数值数据类型,则该值将隐式转换为整数。 如果索引值超出了值数组的界限,则 CHOOSE 返回 Null。
val_1 … val_n
任何数据类型的逗号分隔的值列表。

示例:

  1. 1SELECT CHOOSE(2,'test1','test2') AS result 








原标题:Sql Server API学习

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

德鲁克科技:https://www.goluckyvip.com/tag/30173.html
德玛特:https://www.goluckyvip.com/tag/30174.html
德帕科技:https://www.goluckyvip.com/tag/30176.html
德普达:https://www.goluckyvip.com/tag/30177.html
德勤海外仓:https://www.goluckyvip.com/tag/30178.html
德尚国际货运代理:https://www.goluckyvip.com/tag/30179.html
TikTok 将推出先买后付服务 :https://www.goluckyvip.com/news/188219.html
深圳有没有比较好玩的景点 深圳有没有比较好玩的景点推荐一下:https://www.vstour.cn/a/366175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流