# 表达式
# 局部与全局
- 局部变量:变量名前加一个
@
- 全局变量:变量名前加两个
@
,下面是一些常用的全局变量@@ERROT
:事务成功时为 ,否则为最近一次的错误号@@ROWCOUNT
:返回受上一语句影响的行数@@FETCH_STATUS
:返回最近一次 语句执行后的游标状态@@VERSION
:返回 当前安装的日期、版本和处理器类型
# 声明与复制
1 | -- 声明 |
# 实例
1 | DECLARE @sno CHAR(7), @score NUMERIC |
# 函数
substring(字符串, 起始位置, 长度)
:截取字符串- 数据库下标是从 开始的
upper(字符)
:转换小写字符为大写字符dateadd(修改部分, 修改量, 初始日期)
:返回新的datedill(查询部分, '起始日期', '终止日期')
:查询两个日期之间的差距(指定部分)- 可以用来计算年龄
datediff(year, substring(idcard, 7, 8), getdate()) as age
getdate()
:返回当前系统日期和时间current_user()
:返回当前的用户,等价于下面的user_name()
:返回给定标识号的用户名
# 流程控制语句
BEGIN...END
:定义语句块- 类 :
SQL 1
2
3
4
5
6
7
8
9SELECT
product_name,
price,
CASE
WHEN price > 1000 THEN '高价'
WHEN price > 500 THEN '中价'
ELSE '低价'
END AS price_level
FROM products;