SQL SERVER 常用函数,很实用,查询短期内的记录,按照访问次数查询

SQL SERVER语法,一些很实用的小例子,做了个总结。

CTE递归

第一个:SQL SERVER内置递归函数,即CTE

公用表达式的定义如下,只包含三部分:

  1.   公用表表达式的名字(在WITH之后)
  2.   所涉及的列名(可选)
  3.   一个SELECT语句(紧跟AS之后)
语法如下:

WITH expression_name [ ( column_name [,...n] ) ]

AS

( CTE_query_definition )

示例:

表结构:


代码贴出来如下:

Declare @Id Int   
Set @Id = 0;    ---在此修改父节点 

With RootNodeCTE(Id,ParentId)   
As   
(   
Select Id,ParentId  From IT_CourseClass Where ParentId In (@Id)                  
Union All   
Select IT_CourseClass.Id,IT_CourseClass.ParentId From RootNodeCTE   
Inner Join IT_CourseClass  
On RootNodeCTE.Id = IT_CourseClass.ParentId   
)   
Select * From RootNodeCTE  

执行以上代码结果如下



第二个:SQL Server Date 函数之DATEADD()

定义:DATEADD()只在日期添加或者减去的时间间隔。

语法规则:DATEADD(Depart,number,date)

PS:


用例:比如在做查询最近更新的数据的时候,或者最近时间段内,访问次数最多的或者访问最近的记录的时候,可以此函数。

示例:我的数据表中的更新时间是各种时候的,但是我要查询最近更新的,显示到首页,那这个在这里怎么运用呢?



SQL语句:

select * from IT_Exampaper where AddTime between dateadd(mm,-4,getDate()) and getDate()


ateadd(mm,-4,getDate()) 中的mm:月份,-4即当前时间的前四个月,getdate();


查询结果:


那么查询出来的结果就是这两条最近更新的了。



第三个:SQL BETWEEN操作符

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2


实例:



SQL语句:

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'


结果集:



好了,这是本人平时用的比较多的一些函数,希望大家能有借鉴之处吧,另外声明:(第三个中截图是来W3CSCHOOL SQL教程中的。)









你可能感兴趣的:(SQL,SERVER,数据库)