【SQL】transact语句


 Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近(不只是实现 ANSI SQL,也为自身数据库系统的特性提供实现支持),目前在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用为核心的查询语言。


局部变量的定义与赋值

DECLARE @C1 CHAR(20),@C2 CHAR(10),@C3 CHAR(30)
SELECT @C1='SQL Server',@C2='2008'
SET @C3=@C1+@C2
SELECT @C3

DECLARE @C1 VARCHAR(20),@C2 VARCHAR(10),@C3 VARCHAR(30)
SELECT @C1='SQL Server',@C2='2008'
SET @C3=@C1+@C2
PRINT @C3

流程控制语句

BEGIN…END语句

语法

BEGIN
   SQL语句1
   SQL语句2END

IF…ELSE语句

语法:

IF 布尔表达式
   SQL语句块
[ELSE
   SQL语句块]
   

WHILE、BREAK和CONTINUE语句

语法

WHILE 布尔表达式
  SQL语句块
  [BREAK]
  SQL 语句块
  [CONTINUE]
  

系统函数

CASE函数

CASE 
WHEN boolean_expression THEN result_expression
[…n]
[ELSE else_result_expression]
END

exm:

SELECT 学号, 姓名, 
等级= 
CASE 
 WHEN 总学分 IS NULL THEN '尚未选课'
        WHEN 总学分 < 50 THEN '不及格'
        WHEN 总学分 >=50 and 总学分<=52 THEN '合格'
        ELSE '优秀'
END
FROM XS
WHERE 专业='计算机'

日期函数

DATENAME(Year,Date)   /*返回字符串格式*/
DATEPART(Year,Date)   /*返回数值格式*/
YEAR(Date)

exm

SELECT DATEADD(year,1,'2004/7/16')

字符串函数&数学函数

注:查询联机丛书


用户自定义函数

exm:

CREATE FUNCTION fn_stuName(@stuId char(9))
RETURNS char(20)
AS
BEGIN
  DECLARE @Name char(20)
  SET @Name=
    (
     SELECT Sname
     FROM Student
     WHERE Sno=@stuId
    )
  RETURN @Name
End
go
DECLARE @Name char(20)
EXEC @Name=dbo.fn_stuName @stuID='200215121'
PRINT @Name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cout0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值