文章目录

  • 1.标识符
  • 1.1常规标识符
  • 1.2界定标识符
  • 2.常量
  • 3.变量
  • 4.函数
  • 5.批处理及语句结构


T-SQL作为SQL Server中拓展的编程语言,有着更为适用的语法结构,同时,也可以借用以前的高级编程语言来理解T-SQL的语法结构。

1.标识符

1.1常规标识符

命名规则如下:

  1. 标识符由字母、数字、下划线、@符号、#和$符号组成,其中字母可以是英文字母a-z或A-Z,也可以是其他语言的字符,如表名:“学生信息表”。
  2. 标识符的首字符不能是数字或“$”符号。
  3. 标识符不能使用SL的保留字,如:命令(sp_help)或函数名max, min, desc, asc)。
  4. 标识符内能使用空格和特殊字符,如:?、%、&、*等。
  5. 标识符的长度不能超过128个字符。

1.2界定标识符

对不符合标识符命名规则的标识符,例如,标识符中包含 SQL Server关键字或包含了内嵌的空格和其他不是规则规定的字符时,要使用**界定标识符([ ])或双引号(“ ”)**来将标识符括起来。
一般应对于不能用常规标识符的情况。

2.常量

同其他语言,常量就是将值裸露在外,比如数字1、2、3等,字符串’hello’、'hi’等,以及特殊符号!、@等

字符串用单引号括起来,不是双引号

SQL Server里有更多的能自动识别的常量类型:

  1. 日期时间
    用单引号括起来,且使用日期格式
    比如:‘2016-08-09’、‘2016/08/09’、‘2016年08月09日’ 都可自动识别为日期
  2. 货币
    以货币符号开头,且SQL Server每隔三个数字会插入一个逗号进行内部规范化
    比如:¥3000000
  3. 小数
    小数加小数点,科学计数法加E
    比如:125.01、5E12

3.变量

变量必须在前面加@,任何时候都要,不然无法识别

声明语句:

declare @变量名1 [as] 数据类型 , @变量名2 [as] 数据类型 …

  • as 可以省略
  • 默认值为NULL
  • 用逗号隔开

赋值语句:

set @变量名 = 表达式

select @变量名1 = 表达式, @变量名2 = 表达式 …

或者 select @变量名 = (select 输出值 from 表 where 条件)

  • 两个关键字set 、seclect都可以完成赋值
  • set 一次性仅能赋值一个变量,select 则可以批量操作
  • select 还可以配合select查询语句使用

上面加一个@的变量是局部变量,加两个@的变量是全局变量

4.函数

TSQL中有多中现成的函数,以供使用,也可以自行创建函数

  1. 数学函数
  2. 字符函数
  3. 日期函数
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMXD9fEl-1622655059096)(https://files.catbox.moe/fhytmf.png)]

自行创建函数

create function 函数名(@参数变量名 数据类型, …)
returns 返回值数据类型
as
begin

end

  • returns语句不可少
  • returns可以是table

5.批处理及语句结构

SQL Server中语句是按一个个批处理同时进行运行的,不同于高级程序语言按语句顺序执行,这样,在一个批处理中新建的表就无法在同一个批处理中修改等操作,因为直到这个批处理语句结束,这个表才被创建出来。

关键字 GO 放在批处理最后,用于结束一个批处理

语句结构:(每个关键字都有自己的用法)

  1. 顺序结构
    BEGIN…END 、SET 、SELEC、PRINT
  2. 选择结构
    IF…ELSECASE
  3. 循环结构
    WHILE
  4. 循环结构
    GOTO 、WAIT…FOR 、TURN

相关控制语句:


sql server标识不按照增量 sql server标识规范_sql

注意:

  • begin…end 必须成对存在,限定着一段语句,有着类似于C语言中的大括号{ }作用,使用IF语句时,若后面跟有多条语句,就必须使用 begin…end 进行限定