Mysql基础语法
填充指定的字符,直到达到指定的长度
LPAD函数:在字符串左侧填充指定的字符,直到达到指定的长度;L是left的意思,pad是填充的意思。
LPAD语法:lpad(column,length,paddingValue)RPAD函数:在字符串右侧填充指定的字符,直到达到指定的长度,R是right的意思,pad是填充的意思。
RPAD语法:lpad(column,length,paddingValue)参数说明:
- column:需要进行填充的字符串,可以是数字或字符型。
- length:填充后的字符串长度。
- paddingValue:填充的字符。
使用说明:
LPAD1.使其变成5位长度&不足5位的在左侧填充'0':
SELECT LPAD(2023, 5, '0');
运行结果为:'02023'LPAD2.使其变成5位长度&不足5位的在左侧填充'a':
SELECT LPAD(2023, 5, 'a');
运行结果为:'a2023'RPAD1.使其变成5位长度&不足5位的在右侧填充'0':
SELECT LPAD(2023, 5, '0');
运行结果为:'20230'RPAD2.使其变成5位长度&不足5位的在右侧填充'a':
SELECT LPAD(2023, 5, 'a');
运行结果为:'2023a'
根据分组,查询最新时间的一条数据
- 基础语法select * from table where id in ( select SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY update_time desc), ',', 1 ) from table GROUP BY unique_key_column);
- 创建数据库 drop database if exists `syntax_db`; create database if not exists `syntax_db` default charset utf8; - 创建表 drop table if exists `syntax_db`.`t_log`; CREATE TABLE `syntax_db`.`t_log` ( `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `unique_key` bigint(11) NOT NULL COMMENT 'id', `message` varchar(255) DEFAULT NULL COMMENT '信息', `datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='日志信息表'; - 初始化数据 INSERT INTO `syntax_db`.`t_log` (unique_key,message,`datetime`) VALUES (1,'信息1','2023-05-19 00:00:00'), (1,'信息2','2023-05-19 11:11:11'), (1,'信息3','2023-05-19 22:22:22'), (2,'信息1','2023-05-19 00:00:00'), (2,'信息2','2023-05-19 11:11:11'), (2,'信息3','2023-05-19 22:22:22'); - 语法运用:根据分组,查询最新时间的一条数据 select * from `syntax_db`.`t_log` where id in ( select SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY `datetime` desc), ',', 1 ) from `syntax_db`.`t_log` GROUP BY unique_key);