union 和 union all
语法 :
select column_name(s) from table_name1
UNION [ ALL ]
select column_name(s) from table_name2
说明 : union :对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序 因为要进行重复值扫描,所以效率低
union all: 对两个结果集进行并集操作,包括重复行,不进行排序
charIndex 判断是否存在目标字符串
语法: charindex( expressionToFind , expressionToSearch [ , start_location ] )
说明 expressionToFind :目标字符串
expressionToSearch:到这个字符中中查找
[ , start_location ] :开始位置
在expressionToSearch字符串中 【从第start_location的位置开始】查找expressionToFind字符串
返回 : 第一次出现的位置
trim rtrim ltrim 去除空格
语法 : trim(expression) ,rtrim(expression),ltrim(expression)
说明 : 去除expression的前后空格 ,去除expression的右空格 ,去除expression的左空格
left right 截取字符串
语法: left(expression,length)、right(expression,length)
说明: 从参数expression最左边(最右边)一个字符开始返回指定数目的字符.若 b 的值大于 a 的长度,则返回字符表达式的全部字符a.如果 b 为负值或 0,则返回空字符串.
len 计算长度
语法 :len(expression)
说明 :计算expression的长度
convert 转换 函数
语法:convert(varchar(5),@sum)
说明: 把@sum 变成 varchar(5)类型
优点 :相对于cast convert是可以格式化日期和数值.
cast 转换 函数
语法:CAST (expression AS data_type)
说明 : 用于将某种数据类型的表达式显式转换为另一种数据类型
优点: 相对于 convert cast更容易使用
raiserror 异常函数
格式 :raiserror ({msg_id | msg_str | @local_variable } {,severity,state } [,argument [, ...n]]) [with option [,..n]]
含义 :{msg_id | msg_str | @local_variable }
说明 可以是三个中的任意一个,也可以是三个 msg_id 错误信息号 ; msg_str 错误信息描述 ; @local_variable 用户定义变量
severity 说明 该错误信息级别 范围0~18
state 说明 标识错误发生位置 范围0~127
[,argument [, ...n]] 说明 如果{msg_id | msg_str | @local_variable } 中含有变量时,替换变量
变量替换 : 1,%d或%i代表有符号整数
2,%u代表无符号整数
3,%o代表无符号八进制数
4,%s代表字符串
5,%x或%X代表 无符号十六进制数
[with option [,..n]] 说明 错误的自定义选项 值: LOG 、NOWAIT 、 SETERROR
LOG: 把错误写入到日志
NOWAIt : 立即发送到客户端
SETERROR : 将 全局变量@@ERROR 值和 ERROR_NUMBER设置为 msg_id 或 50000 不考虑严重级别
exists 判断是否存在
成立则返回true不成立则返回false。如果返回的是true的话,则该行结果保留,如果返回的是false的话,则删除该行,最后将得到的结果返回
exists (select * from sys.objects where name = 'getAllBooks')
需要放在if()中
object 或object_id
语法:object_id('objectname')或object('objectname','type');
说明:该函数会返回指定对象的ID值,可以在sysobjects表中进行验证。