T-SQL程序设计之标识符,常量和变量
2015-11-07 19:18
281 查看
---------------------------标识符
标识符用于定义服务器、数据库、数据库对象、变量等的名称,包括常规标识符和分隔标识符两类。
1,常规标识符
常规标识符就是不需要使用分隔标识符进行分隔的标识符,它以字母、下划线(_)、@或#开头,可后续一个或若干个ASCII字符、Unicode字符、下划线(_)、美元符号($)、@或#,但不能全为下划线(_)、@或#。
2,分隔标识符
包含在双引号 (") 或者方括号 ([ ]) 内的常规标识符或不符合常规标识符规则的标识符。标识符允许的最大长度为128个字符,符合常规标识符格式规则的标识符可以分隔、也可以不分隔,对不符合标识符规则的标识符必须进行分隔。
---------------------------常量
常量是在程序运行中其值不能改变的量,又称为标量值。常量使用格式取决于值的数据类型,可分为整型常量、实型常量、字符串常量、日期时间常量、货币常量等。
1,整型常量
(1)十进制整型常量(2)二进制整型常量的表示
(3)十六进制整型常量的表示
2,实型常量
实型常量分为 定点表示和浮点表示。(1)定点表示
比如: 24.5 5678.0 -12345.6789 +9876.54321
(2)浮点表示
比如: 0.7E-3 123.456E-2
3,字符串变量
字符串变量分为ASC|| 和 unicode 两种。(1) ASC||
比如:‘hello’ ‘people like us’
(2)unicode
unicode在前面有一个 N 标识符,N 前缀必须大写,比如,
N ‘hello’ N'we won it'
4,日期时间常量
日期时间常量由但一号将表示日期时间的字符串括起来构成,它有以下几种格式:(1)字母日期格式,例如: ‘June 08,2011’
(2) 数字日期格式,如:‘11/7/2015’ , ‘2015-11-7’
(3)未分隔的字符串格式,如:‘20151107’
(4)时间常量格式,如:‘13:14:00’ ,‘13:14 :AM’
(5)日期时间常量格式,如:‘July 18, 2015 13:14:00’
5,货币常量
货币常量是以“$”作为前缀的一个整型或实型常量数据,例如: $1314, +$1314---------------------------变量
变量分为局部变量和全局变量1, 局部变量
局部变量由用户定义和使用,局部变量名称前有“@”符号,局部变量仅在声明它的批处理或过程中有效,当批处理或过程执行结束后变成无效。1)局部变量的定义
使用 DECLARE 语句声明局部变量,所有局部变量在声明后均初始化为NULL,局部变量语法格式如下:
DECLARE{ @local_variable data_type [= value]}[ ,...n] 说明:
● local_variable:局部变量名,前面的@表示是局部变量。
● data_type:用于定义局部变量的类型。
● =value:为变量赋值。
● n:表示可定义多个变量,各变量间用逗号隔开。
2)局部变量的赋值
在定义局部变量后,可使用SET语句或SELECT语句赋值。
(1)使用SET语句赋值,使用SET 语句赋值的语法格式如下:
SET @local_variable=expression 其中,@local_variable是除 cursor、text、ntext、 image 、table外的任何类型的变量名,变量名必须以“@”符号开头。
expression是任何有效的SQL Server表达式。
例如,创建两个局部变量并赋值,然后输出局部变量的值
DECLARE @var1 char(10),@var2 char(20)
SET @var1='睿歌'
SET @var2='是软件工程专业的学生'
SELECT @var1+@var2
例如:创建一个局部变量,在SELECT语句中使用该变量查找计算机专业学生的学号、姓名、性别。
USE stsc
DECLARE @spe char(12)
SET @spe='计算机'
SELECT stno, stname, stsex
FROM student
WHERE specialist=@spe
例如:将查询结果赋给局部变量
USE stsc DECLARE @snm char(8) SET @snm=(SELECT stname FROM student WHERE stno= '1002') SELECT @snm(2)使用SELECT语句赋值,其语法格式如下:
SELECT {@local_variable=expression} [,…n]例如,使用SELECT语句赋值给变量
USE stsc
DECLARE @no char(5), @name char(10)
SELECT @no=stno,@name=stname
FROM student
WHERE specialist='通信'
PRINT @no+''+@name
例如,使用排序规则在查询语句中为变量赋值
USE stsc DECLARE @no char(5), @name char(10) SELECT @no=stno,@name=stname FROM student WHERE specialist='通信' ORDER BY stno DESC PRINT @no+''+@name例如,使用聚合函数语为变量赋值。
USE stsc
DECLARE @hg int
SELECT @hg=MAX(grade) FROM score WHERE grade IS NOT NULL
PRINT '最高分'
PRINT @hg
2,全局变量
全局变量由系统定义,在名称前加“@@”符号,用于提供当前的系统信息。T-SQL 全局变量作为函数引用,例如,@@ERROR返回执行上次执行的T-SQL语句的错误编号,@@CONNECTIONS返回自上次启动SQL Server以来连接或试图连接的次数。
相关文章推荐
- Ruby中的变量学习总结
- Ruby常量查找路径问题深入研究
- 详解Lua中的变量相关知识点
- dos批处理文件中的变量小结
- 探索PowerShell(七) PowerShell变量
- VBScript教程 第四课VBScript变量
- 关于SQL 存储过程入门基础(基础知识)
- perl 变量 $/ 的用法解析 上下文为行模式时,$/ 定义以什么来区分行
- Powershell中定义常量的方法
- VBS教程:VBScript 基础-VBScript 变量
- Erlang语法学习笔记:变量、原子、元组、列表、字符串
- mssql存储过程表名和字段名为变量的实现方法
- Shell脚本定义变量和重新赋值
- C++编程中的数据类型和常量学习教程
- 深入理解C++编程中的局部变量和全局变量
- php中动态变量用法实例
- PHP中判断变量为空的几种方法分享
- PHP 第三节 变量介绍
- 浅析PHP原理之变量分离/引用(Variables Separation)
- PHP入门之常量简介和系统常量