一、數據分頁
sql
OFFSET:指定在從查詢表達式中返回行以前,將跳過的行數。數據庫
FETCH:指定在OFFSET子句後,將返回的行數。express
OFFSET是頁號的同義詞,FRTCH則表明每頁顯示的行數。ide
select ProductID, ProductNumber, Name AS ProductName, ListPrice from Production.Product order by ProductID offset 0 rows fetch next 10 rows only
二、使用變量函數
聲明變量:declare @variable int
sqlserver
三種賦值方法:可使用SET關鍵字,這是最佳選擇;也能夠在SELECT語句中爲變量分配一個值;還能夠在聲明變量的過程當中爲其賦值。學習
declare @variable int set @variable = <value>
select @variable = <column or expression> from <table name>
declare @variable int = <value>
三、更改數據庫名稱fetch
alert database test_db motify name=company
四、查詢前三條數據spa
select TOP 3 * from test_table
五、性別不爲男server
select * from test_table where not S_sex='男'
六、用戶權限
賦予權限
grant update,delete on test_table to sa with grant option
取消權限
deny update on test_table to sa cascade
七、case語句
select s_id,s_name, case s_name when '馬華' then '班長' when '徐三' then '學習委員' when '劉傑' then '體育委員' else '無' end as '職位' from stu_info
八、延遲10秒
declare @name varchar(50); set @name='admin'; begin waitfor delay '00:00:10'; print @name; end;
九、函數
select ASCII('s'),ASCII('sql'),ASCII('1');
輸出: 115 115 49
select char(115),char(49);
輸出: s 1
select left('football',4); //right,取右邊的四個
輸出: foot
select '('+' book '+')','('+LTRIM(' book ')+')'; //刪除字符串左邊的空格
輸出: ( book )(book )
select STR(3141.55,6,1),STR(123.45,2,2) //數字轉化爲字符串
輸出: 3141.6**
select REVERSE('abc') //字符串逆序
輸出: cba
SELECT LEN('no'),LEN('日期'),LEN(12345) //字符串長度
輸出: 2 2 5
SELECT CHARINDEX('a','banana'),CHARINDEX('a','banana',4),CHARINDEX('na','banana',4) //指定字符開始位置
輸出: 2 4 5
SELECT LOWER('BEA'),LOWER('Well') //大寫字符轉換爲小寫,UPPER--轉換爲大寫
輸出: bea well
SELECT REPLACE('xxx.sqlserver2012.com','x','w') //字符串替換
輸出: www.sqlserver2012.com
SELECT ABS(2),ABS(-3.3),ABS(-33) //取絕對值
輸出: 2 3.3 33
SELECT PI() //圓周率
輸出: 3.14159265358979
SELECT SQRT(9),SQRT(40) //求平方根
輸出: 36.32455532033676
SELECT RAND(),RAND(),RAND() //產生0-1之間的一個隨機數
SELECT ROUND(1.38,1),ROUND(1.38,0),ROUND(232.38,-1),ROUND(232.38,-2) //四捨五入
輸出: 1.40 1.00 230.00 200.00
SELECT SIGN(-21),SIGN(0),SIGN(21) //符號函數
輸出: -101
SELECT CEILING(-3.35),CEILING(3.35) //向上取整
輸出: -34
SELECT FLOOR(-3.35),FLOOR(3.35) //向下取整
輸出: -43
SELECT POWER(2,2),POWER(2.00,-2) //冪運算
輸出: 40.25
SELECT EXP(3),EXP(-3),EXP(0) //已e爲底的冪運算
輸出: 20.08553692318770.04978706836786391
十、數據類型轉換函數
SELECT CAST('121231' AS DATE),CAST(100 AS CHAR(3)),CONVERT(TIME,'2016-12-13 10:57:00') //數據轉換
輸出: 2012-12-31100 10:57:00.0000000
十一、日期和時間函數
select getdate() //獲取當前日期 SELECT GETUTCDATE() //獲取世界標準日期值 select day('2016-12-13 01:01:01') //獲取天 select month('2016-12-13 01:01:01') //獲取月 select year('2016-12-13 01:01:01') //獲取年 select datename(weekday,'2016-12-13 01:01:01') //星期幾 select datename(dayofyear,'2016-12-13 01:01:01') //一年的第幾天
增長時間
SELECT DATEADD(YEAR,1,'2016-12-13 01:01:01'), DATEADD(MONTH,2,'2016-12-13 01:01:01'), DATEADD(HOUR,1,'2016-12-13 01:01:01')
輸出:2017-12-13 01:01:01.000 2017-02-13 01:01:01.000 2016-12-13 02:01:01.000
十二、系統函數