创建计算字段
select concat ([column_name], '连接符', [column_name]) from [table_name];#1
select concat (rtrim([column_name]),'连接符',rtrim([column_name] )) from [table_name];#2
# 1 连接两个列显示
# 2 连接两个列 并删除右侧空格(左对齐) 同理还有 ltrim 与 ttrim(去掉两边的空格)
select concat (rtrim([column_name]),'连接符',rtrim([column_name] )) as vend_title from [table_name];#1
select [column_name] * [column_name] as [new_name] from [table_name];#2
# 1 连接两个列 并取名为 vend_title (方便计算机引用)
# 2 获取两个列相称的结果 取别名
使用数据处理函数
函数 | 说明 |
left() | 返回串左边的字符 |
right() | 返回串右边的字符 |
locate() | 找出一个串的字串 |
lower() | 转换为小写 |
upper() | 转换为大写 |
ltrim() | 去掉串左边的空格 |
rtrim() | 去掉串右边的空格 |
ttrim() | 去掉串两边的空格 |
substring() | 返回字串的字符 |
length() | 返回字串的长度 |
例如:
select left('footbar', 5); # 返回 footb
select locate('bar', 'foobarbar',5); # 返回 7
select substring('Quadratically',5,6); # 返回ratica 第5个字符开始的后5个字符
函数 | 说明 |
adddate() | 增加日期(周天等) |
addtime() | 增加时间(时分秒等) |
curdate() | 返回当前日期 |
curtime() | 返回当前时间 |
date() | 返回日期时间的日期部分 |
datediff() | 计算两个日期差 |
date_add() | 高度灵活的日期运算函数 |
date_format() | 返回一个格式化的日期或时间串 |
day() | 返回一个日期的天数 |
dayofweek() | 返回周几 |
hour() | 返回一个时间的小时 |
minute() | 返回一个时间的分钟 |
month() | 返回月份 |
now() | 返回当前日期与时间 |
second() | 返回一个时间的秒数 |
time() | 返回日期时间的时间部分 |
year() | 返回一个日期的年份 |
select [column_name] from [table_name] where date([column_name]) between '2005-09-01' and '2005-09-30';
select [column_name] from [table_name] where year([column_name]) = 2005 and month([column_name]) = 9;
# 两者都是查找 2005年9月期间的所有数据,不同的是后者可以不用分辨一个月有30天或者31天
汇总数据
函数 | 说明 |
count() | 返回某列行数 |
max() | 返回某列最大值 |
min() | 返回某列最小值 |
avg() | 返回某列平均值 |
sum() | 返回某列之和 |
# 使用count(*) 返回所有行数 null也算在内; count([column_name]) 对特定列中有值的行数进行统计,忽略null
distinct 的使用
select avg(distinct [column_name]) as new_name from [table_name];
计算列中不同值的平均数:
例如14,15,16,16, avg则为15。