第三阶段数据库-7:sql中函数,运算符,常用关键字

1_Sql 里面常用的函数

函数 说明
Count() 计数
len() 长度
str() 将数值转换为字符数据,可以指定长度和精度
cast() 实现数据类型的显示转换
convert() 类型转换 + 格式化(非标准扩展)
getdate() 获取当前时间
rand() 产生0-1之间的随机小数,不包括0和1
round() 四舍五入取整
sum() 求和
max() 最大值
min() 最小值
avg() 平均值
row_number 对查到的数据进行重新编号,赋予他来连续的编号
over 依据

(1)Count 计数

sql 复制代码
select Count(*) from Students;-- 返回Students表中行数
select count(distinct customer_id) from orders--不重复客户数

(2)len():长度

sql 复制代码
select len('张三')--2
select len(StuName) from Students--返回Students表中每个StuName的长度

(3)str():将数值转换为字符数据,可以指定长度和精度,

参数1为需要转换的数值,

参数2为最多字符串的总长度(包含数字和小数点,空格),默认为10

参数3为小数的位数,默认为0

注:如果指定的 length 小于数值的实际长度,会返回 ** 表示溢出。 结果字符串会靠右对齐,不足的长度会用空格填充。

sql 复制代码
select str(123.12345,6,2)--123.12
select str(123.12345,8,3)--123.123
select str(123.12345,10,3)--123.123

(4)cast():实现数据类型的显示转换

sql 复制代码
select cast('2024-09-10' as date); -- 字符串 → 日期
select cast(quantity as varchar(50))from t; -- 数字 → 字符串

(5)convert():类型转换 + 格式化(非标准扩展)

sql 复制代码
select convert(varchar,getDate(),120);-- 2025-08-21 15:30:00

(6)getdate():获取当前时间

sql 复制代码
select getdate();

(7)rand(): 产生0-1之间的随机小数,不包括0和1;产生x-y之间的随机数 rand() * (y-x)+x;

sql 复制代码
declare @rand int;
set @rand=rand()*(100-60)+60

2_Sql中的运算符

(1)sql中许多运算符与C#中类似,下面列举与c#中不同的并于c#中做对比

运算符 sql c#
= 等于 赋值
<> 不等于 !=
and &&
or ||
Not 取反
between 如果操作数在某个范围之内,则结果为 TRUE
in 表达式的值是否在指定的列表或子查询结果中
like 字符串模式匹配的运算符

3_常用关键字

关键字 作用
declare 定义变量
set 给变量赋值
distinct 查询时返回唯一不同的值
alter 修改现有数据库对象的结构
while 循环

示例

sql 复制代码
sql
-- Sql 声明变量
declare @a int; 
-- sel中赋值  :  两种语法 set| select
select @a=100;
select @a-=100;
set @a+=100;
set @a=@a+100;
-- 打印
print @a;
--字符串 拼接
select  'abc'+'defg'  as newString
​
--distinct
select distinct City from Customers;
--alter
alter table TableName add Email varchar(50)
​
相关推荐
YOU OU2 小时前
Redis基础常识与命令
数据库·redis·缓存
EIP低代码平台2 小时前
EIP 低代码平台 - 角色维护
低代码·c#·权限·工作流·netcore
克里斯蒂亚诺更新3 小时前
ruoyi角色权限的对应关系
笔记
Database_Cool_4 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森4 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_5 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白5 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
a1117766 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
窝子面6 小时前
手搓最简前后端协作-node
javascript·数据库