sql个人总结3

说到sql,不免会想到t-sql,这篇主要就是要和大家讨论的t-sql语句。

1:赋值

a:为变量单个赋值

BEGIN 
DECLARE @SID INT,
    @SNAME VARCHAR(1)
SET @SID=0            --只能为一个变量赋值
SET @SNAME='A'
PRINT @SID
PRINT @SNAME
END
GO

b:select为变量赋值

BEGIN 
DECLARE @SID INT,
    @SNAME VARCHAR(1)
SET @SID=0            --只能为一个变量赋值
SET @SNAME='A'
select @SID=sid,@SNAME=sname FROM student where sid=1 --从此赋值看出,赋值只把最后一次的打印了出来,其他的被覆盖了
PRINT @SID
PRINT @SNAME 
END
GO

2:流程控制

a:begin...end

BEGIN 
DECLARE @TIME DATETIME
SET @TIME=GETDATE()
print @TIME
END
GO

b:if...else

IF OBJECT_ID('A') IS NOT NULL
    DROP TABLE A
ELSE
    PRINT 'AA' 
GO

c:case

SELECT SIDNAME=
CASE 
    WHEN SID=1 THEN 1
    WHEN SID=2 THEN 2
END    
FROM STUDENT WHERE SID=1 

d:while

 BEGIN 
 DECLARE @I INT
 SET @I=1
 WHILE @I<2
     BEGIN
         PRINT 'WW'
         SET @I=@I+1
     END
 PRINT 'END'
 END
 GO 

3:内置函数

a:len()字符串长度

print len('aaaaa')

b:left()或者right()

select LEFT(rtest,5) from role
select RIGHT(rtest,5) from role

c:substring()

select SUBSTRING(rtest,1,5) from role

d:replicate()

SELECT REPLICATE(RTEST,3) FROM role 3为重复查询值3次

e:stuff()

SELECT STUFF(rtest,1,5,'OOOOOOO') FROM role --stuff(字符型表达式,开始位置,长度,替换字符)

f:rtrim()或者ltrim()

SELECT LTRIM(rtest) FROM role    --LTRIM或者RTRIM为去掉左空格或去掉右空格

g:reverse()
SELECT REVERSE(RTEST) FROM role  --REVERSE为字符串的颠倒顺序

h:charindex()

SELECT CHARINDEX('SQL', 'Microsoft SQL Server')   --charindex返回一个字符串在另一个字符串的开始位置

i:patindex()

select patindex('%bc%','abcdgggbc')    --返回前面的匹配字符在后面字符的出现位置

j:时间函数

SELECT DATEADD(DAY,0,GETDATE())        --在原来的基础上加2天
SELECT DATEDIFF(day,'2008-12-29','2008-12-30')   --返回二个时间之间的天数
SELECT DATEPART(YYYY,GETDATE())     --返回时间的一部分
SELECT DATENAME(MONTH,GETDATE())    --返回部分日期

k:类型转换

SELECT * FROM role WHERE CAST(rid AS VARCHAR)=1   --CAST(COLUMN AS TYPE)转化类型
SELECT CONVERT(VARCHAR(30),GETDATE(),121) title

4:自定义函数

a:自定义函数

CREATE FUNCTION MAXO(
    @A INT,
    @B INT
)
RETURNS INT 
BEGIN
    DECLARE @MAX INT
    IF @A>@B
        SET @MAX=@A
    ELSE
        SET @MAX=@B
    RETURN @MAX    
END      
GO

SELECT dbo.MAXO(2,4)

b:删除函数

DROP FUNCTION MAXO

这些都是基本的函数,再复杂的东西都是由基本的东西构成,掌握了基本的就好。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值