Transact-SQL 程序设计(一) --------变量和表达式

快期末了,现在开始整理关于SQL Server的知识,主要还是Transact-SQL语法的问题,一天整理一点 :-)

Transact-SQL 程序设计

创建自定义用户类型

-- 创建自定义数据类型为test_add的数据类型
exec sp_addtype test_add, 'VARCHAR(10)','NOT NULL'

常量和变量

常量:表示特定数据值的符号,格式取决于其数据类型。

字符串和二进制常量

若字符串中包含单引号,则单引号需使用两个单引号来表示。

print 'hello '' world'
-- hello ' world
日期时间型常量

datatime常量使用特定格式的字符日期值表示,用单引号括起来。

数值常量
整型常量

由没有引号括起来,不含小数点的一串数字表示。

浮点常量

主要使用科学计数法表示,101.5E5,0.5E-2

货币常量

以’$’为前缀的一个整型或者实型常量数据,不需要单引号.

空值

空值可以表示整型,实型,字符型数据。

变量

变量用于存放临时数据,变量中的数据随程序的运行而变化,变量有名称和数据类型两个属性。

使用@开头为局部变量
使用@@开头为全局变量

局部变量
  • DECLARE @NAME VARCHAR(30),@type int
  • 使用SELECT 和 print显示
  • 使用SELECT,UPDATE,SET进行赋值
declare @int_var int ;
select @int_var = 12;
select @int_var;
-- 12

从表中获取数据

DECLARE @customer VARCHAR(40), @cur_date DATETIME;
SELECT @customer = customer_name,@cur_date = GETDATE()
FROM customer
WHERE customer_id = 'C0002';

SELECT @customer;
SELECT @cur_date;

-- 北京泛亚实业公司
-- 2016-06-06 16:22:30.683

使用SET或者UPDATE(不推荐)同样可以给局部变量赋值

DECLARE @rows FLOAT
SET @rows = (SELECT COUNT(*) from employee)
SELECT @rows; 

-- 5
全局变量

用于跟踪特定回话期间的信息,不能显示的被赋值和声明
全局变量不能由用户定义,只能有系统提供

简单介绍几个全局变量

  1. @@rowcount, 存储前一条命令影响到的记录总数,伴随每一条SQL语句发生变化
  2. @@error, 如果结果非0,则发生错误,伴随每一条SQL语句发生变化
  3. @@spid,返回当前用户进程的ID
  4. @@identity,返回语句产生的最后一个identity值

运算符和表达式

这里跟高级语言差不多,不在一一介绍了。

重点介绍下部分逻辑运算符

重点逻辑运算符

  • LIKE 如果操作数与一种模式相匹配,那么返回true
  • IN 如果操作数等于表达式列表的一个,那么返回true
  • ALL 如果一系列比较都为true,那么值为true
  • BETWEEN 如果操作数在某个范围内,那么值为true
  • EXIST 如果子查询包含一些行,那么值为true

LIKE 通配符

符号描述
%包含0个或多个任意字符串
_对应任何单个字符
[ ]指定范围a-f,或任意集合
[^]不属于任何指定范围或集合

连接运算符+

进行连接字符串操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值