--新分頁方法(效率較高)
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...