此时情绪此时天,无事小神仙
好好生活,平平淡淡每一天

编辑

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);
posted @ 2023-05-19 18:09  踏步  阅读(37)  评论(0编辑  收藏  举报