SQLServer从入门到精通

1、数据分页

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名雅安服务器托管、营销软件、网站建设、昌邑网站维护、网站推广。

OFFSET:指定在从查询表达式中返回行之前,将跳过的行数。

FETCH:指定在OFFSET子句后,将返回的行数。

OFFSET是页号的同义词,FRTCH则代表每页显示的行数。

select ProductID, ProductNumber, Name AS ProductName, ListPrice
from Production.Product
order by ProductID
offset 0 rows
fetch next 10 rows only

2、使用变量

声明变量:declare  @variable  int

三种赋值方法:可以使用SET关键字,这是最佳选择;也可以在SELECT语句中为变量分配一个值;还可以在声明变量的过程中为其赋值。

declare @variable int
set @variable = 
select @variable = 
from 
declare @variable int = 

3、更改数据库名称

alert database test_db
motify name=company

4、查询前三条数据

select TOP 3 * from test_table

5、性别不为男

select * from test_table where not S_sex='男'

6、用户权限

赋予权限

grant update,delete on test_table
to sa with grant option

取消权限

deny update on test_table to sa cascade

7、case语句

select s_id,s_name,
case s_name
    when  '马华'  then  '班长'
    when  '徐三'  then  '学习委员'
    when    '刘杰'    then    '体育委员'
    else    '无'
end
as    '职位'
from    stu_info

8、延迟10秒

declare @name varchar(50);
set @name='admin';
begin
waitfor delay '00:00:10';
print @name;
end;


9、函数

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

10、数据类型转换函数

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

11、日期和时间函数

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.0002017-02-13 01:01:01.0002016-12-13 02:01:01.000

12、系统函数


新闻标题:SQLServer从入门到精通
文章分享:http://scyanting.com/article/josied.html