SQL Server 2012中的新函式

2021-07-04 17:15:28 字數 1508 閱讀 9018

--新分頁方法(效率較高)

select * from sys.columns order by object_id offset 5 rows fetch next 3 rows only

--可建立類似oracle 的sequence 序列便於多表共用乙個序列

create sequence  sid as int start with 1 increment by 1  maxvalue  10 /*序列最大值*/ minvalue  -2 /*序列最小值*/ cycle /*可迴圈*/

--序列修改(步長居然可以為負數)

alter sequence sid restart  with 3 increment by  -1 

--獲取序列值 如何獲取當前值??

declare @i int

select @i = next value for sid

print @i

--字串連線函式測試(任意長度,任意型別)

select concat('sqlserver',2012,null,'enterprise',getdate())

--新增選擇函式第乙個引數從開始

select choose(0, '1','2','3','4')

select choose(3, '1','2','3','4')

--新增判斷函式

select iif(1>2 ,'1',getdate())

--新增月計算函式

select eomonth(getdate()) as '本月最後一天'

select eomonth(getdate(),1) as '下月最後一天'

select eomonth(getdate(),-1) as '上月最後一天'

--新增型別轉換函式parse  try_convert try_parse

select try_convert(float,'test')  -- 轉換不出,返回null

select try_convert(float,'1')

select try_parse('test' as datetime)  

select try_parse('2012-04-01' as datetime)  

--比較有用的分析函式lag(錯位比較) 同時可進行分割槽錯位比較

--下例數介紹如何時候column_id 前後兩行資料相減,取代錯位連線的麻煩

select lag(column_id,1,0) over (partition by object_id order by object_id,column_id)

from  sys.columns  

--錯位連線(取代rownumber 函式錯位連線)

select object_id,column_id,lead(column_id,1,0)  over (partition by object_id order by object_id,column_id) as nextcolums

from  sys.columns 

SQL Server2012中的Throw語句

簡 介sql server2012實現了 類似c 丟擲異常的 throw 語句。相比較於 sqlserver2005 之前使用 error,和sqlserver2005 之後使用 raiserror 引發 異常都是乙個不小的 進步,下面來看一下 throw 的用法。raiserror 和throw ...

解除安裝sql server 2012

好不容易裝上了sql server2012資料庫,可是卻不能連線本地的資料庫,後來發現缺少一些服務,於是決定重新安裝,但是解除安裝卻很麻煩,如果解除安裝不乾淨的話,重新安裝會出問題,所以下面就總結一些方法 在解除安裝sql server 2012後,大家都希望能夠將登錄檔資訊完全刪乾淨,下面就將教您...

SQLServer2012中LEAD函式簡單分析

lead函式簡單點說,就是把下一行的某列資料提取到當前行來顯示,看示例更能解釋清楚,先看測試用指令碼 declare testdata table id int identity 1,1 department varchar 20 lastname varchar 20 rate float ins...