温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQLServer从入门到精通

发布时间:2020-07-11 03:35:59 来源:网络 阅读:940 作者:夜那么深 栏目:数据库

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 = <value>
select @variable = <column or expression>
from <table name>
declare @variable int = <value>


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.000 2017-02-13 01:01:01.000 2016-12-13 02:01:01.000


12、系统函数





































向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI