首页 > 数据库技术 > 详细

SQL Server 常用语句

时间:2019-03-22 14:35:56      阅读:131      评论:0      收藏:0      [点我收藏+]

部分常用SQL语句和函数

 

//增删改
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
DELETE FROM 表名称 WHERE 列名称 =//EXISTS 可判断查询的结果是否存在 返回true false
SELECT * FROM [dbo].[Students] WHERE
EXISTS (SELECT * FROM [dbo].[Class] WHERE ID = 123 );
//如果123不存在,则不查询students表  也可用 NOT EXISTS 不存在则显示,存在则不显示



//可直接拼接获取到的内容至一列,但需要varchar类型,int为计算而不是拼接
select Ename+---+ComplainType as ddd from Complaints    


select len(Ename) from Complaints        //获取字段内容的长度

select RAND()                            //获取随机数—— 0.686986758937688
select floor(rand()*100)                //floor为向下取整 

select GETUTCDATE();        //获取国际标准时区的时间

select CONVERT(nvarchar(20),getdate(),120)

select DATEDIFF(month, 2019-02-01, 2019-05-30)    //时间间隔,month为差了几个月,都为向下取整

select DATEADD(hour, 5, 2019-02-28 23:33:00)            //时间增加

select DATEPART(year,2019-05-03)    //返回时间的年份 int类型
select DATEPART(yy,2019-05-03)
select DATEPART(hh,getdate())                //获取小时数(24小时)17.05分就是17

select DATENAME(year,getdate())        //返回时间的年份 varchar类型

select year(getdate())            //一样获取日期,但只有年月日[year(),month(),day()],没有时分秒

//返回指定字符串在字符串中的位置,返回的为整数(从1开始)。如果不存在则返回0。因为是指定字符串所以效率比PATINDEX高
select CHARINDEX(cc, asdfccdd);            //返回5
select CHARINDEX(ff, ffase123,5);            //从第五位开始查找,没找到则是0

//PATINDEX的字符串可加通配符%,也就是可以模糊查询。如果不加则需要前后都相同才会返回值
select PATINDEX(cc, aabbccdd);            //返回0
select PATINDEX(%cc, aabbccdd);           //返回0 可用于查询是否是xxx结尾 或开始
select PATINDEX(%cc%, aabbccdd);          //返回5
select PATINDEX(cc, cc);                  //返回1

//STUFF 可用于删除指定长度的字符,并可以在指定的起点处插入另一组字符    STUFF(列名,开始位置,长度,替代字符串) 返回类型是一个字符串型
select STUFF(asdccbb,4,2,‘‘)        //返回asdbb 删除了cc
select STUFF(asdccbb,4,2,66)      //返回as66cbb

//SUBSTRING 用于截取指定长度的字符串 SUBSTRING(字符串,开始位置,长度)    
select SUBSTRING(abcdefg,3,2)        //返回cd

//LEFT() 返回字符串中从左边开始指定个数的字符 RIGHT()从右边开始
select LEFT(ASDFG,2);        //返回AS
select RIGHT(ASDFG,2);       //返回FG

//LTRIM() 删除前面的空格    RTTIM() 删除后面的空格
select LTRIM( ASD DF );    //返回ASD DF 
select RTRIM( ASD DF );    //返回 ASD DF

//UPPER() 小写转大写 LOWER() 大写转小写
select UPPER(fff);        //返回FFF
select LOWER(DDd);        //返回ddd

//REPLACE(str,from_str,to_str) 用字符串替换所有指定的字符串
select REPLACE(jklasdaaddc,a,2);                      //返回jkl2sd22ddc
select REPLACE(测试sql,测试sql!!,测试,test );        //返回test sql,test sql!!

//REPLICATE     以指定的次数重复字符表达式 
select REPLICATE(ABC,3);        //返回ABCABCABC

//SPACE(N) 返回指定个数的空格
select SPACE(5);            //返回     5个空格
select test+SPACE(3)+OK;  //返回test   OK

//REVERSE(str)    用于倒置字符串中的内容位置
select REVERSE(12345678);           //返回87654321


//CAST 转换数据类型
select CAST(123 AS int);           //返回123的数字类型
select CAST(666 AS nvarchar(10));    //返回666的字符串

//CASE() 将满足条件的表达式,转换为对应的结果
SELECT *,
    CASE 
    WHEN score < 60 THEN 不合格
    WHEN score >=60 and score <= 100 THEN 合格
    ELSE 0分
END
 FROM [dbo].[Score] 
                    
 

 

SQL Server 常用语句

原文:https://www.cnblogs.com/sky2blue/p/10577954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!