在我们日常开发过程中,不可避免的使用到MySQL数据库,也不可避免的使用到MySQL不同的函数,今天整理了一下字符串函数,特此分享了一下。
多图慎入哦[奸笑]
可先收藏,后观看[狗头]
注:演示工具使用的Navicat
开淦[酷拽]
这是我们需要演示的表:
1.LOWER(str) 将字符串转为小写
SQL语句:SELECT LOWER(fruits_english) as template FROM t_fruits
结果:
2.UPPER(str) 将字符串转为大写
SQL语句:SELECT UPPER(fruits_english) as template FROM t_fruits
结果:
3.CONCAT(str1,str2,str3) 把传入的参数拼接成一个字符串
SQL语句:
SELECT CONCAT(fruits_name,'的英文单词为:',fruits_english) as template FROM t_fruits
SELECT CONCAT(fruits_name,null) as template FROM t_fruits
结果:
需要注意的是,任何与null进行拼接,返回值都为null
4.LEFT(str,1) 返回字符串最左边的 x 个字符
SQL语句:
SELECT LEFT(fruits_english,1) as template FROM t_fruits
SELECT LEFT(fruits_english,3) as template FROM t_fruits
SELECT LEFT(fruits_english,null) as template FROM t_fruits
注意:x的值若为null返回值也为null。
5.RIGHT(str,1) 返回字符串最右边边的 x 个字符 (参考LEFT函数)
6.INSERT(str,x,y,newStr) : 将字符串 str 从指定 x 的位置开始,取 y 个长度的字串替换为 newStr
SQL语句:
SELECT INSERT(fruits_english,1,1,'X') as template FROM t_fruits
SELECT INSERT(fruits_english,1,3,'X') as template FROM t_fruits
SELECT INSERT(fruits_english,1,3,null) as template FROM t_fruits
SELECT INSERT(fruits_english,1,null,'XX') as template FROM t_fruits
SELECT INSERT(fruits_english,null,3,'XX') as template FROM t_fruits
注意:str,x,y,newStr有一个值为null返回值都为null,本次不再演示。
7.LTRIM,RTRIM,TRIM分别清除字符串最左边,最右边,两边的空字符串
SQL语句:
SELECT LTRIM(fruits_pinyin) as template FROM t_fruits
SELECT RTRIM(fruits_pinyin) as template FROM t_fruits
SELECT TRIM(fruits_pinyin) as template FROM t_fruits
[奸笑]这个太简单了,不演示了[呲牙]
8.REPEAT(str,x) 函数:返回 str 重复 x 次的结果
SQL语句:SELECT REPEAT(fruits_name,2) as template FROM t_fruits
当然,str,x有一个为null,返回值为null[看]
9.SUBSTRING(str,x,y) 函数:返回从字符串 str 中第 x 位置起 y 个字符长度的字符串
SQL语句:SELECT SUBSTRING(fruits_english,1,3) as template FROM t_fruits
当然,str,x,y有一个为null,[看]
10.LPAD(str,n,add) 和 RPAD(str,n,add) 函数:
用字符串 aad 对 str 左边和右边进行填充,直到长度为 n 个字符长度
SQL语句:
SELECT LPAD(fruits_english,10,'add') as template FROM t_fruits
SELECT RPAD(fruits_english,10,'add') as template FROM t_fruits
当然, [看]
11.STRCMP(str1,str2) 用于比较字符串 str1 和 str2 的 ASCII 值大小。
如果 str1 < strs2,则返回 -1;
如果 str1 = str2 ,返回 0 ;如果 str1 > str2 ,返回 1。
SQL语句:SELECT STRCMP(fruits_english,fruits_english) as template FROM t_fruits
12.REPLACE(str,a,b) : 用字符串 b 替换字符串 str 中所有出现的字符串 a
SQL语句:SELECT REPLACE(fruits_english,'a','b') as template FROM t_fruits
当然,[看] null
最后,附上小编使用的数据库表,有没有很期待[泪奔]
DROP TABLE IF EXISTS `t_fruits`;
CREATE TABLE `t_fruits` (
`id` bigint(20) NOT NULL COMMENT '主键',
`fruits_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '水果名称',
`fruits_english` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '水果英文名称',
`fruits_pinyin` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '水果拼音',
`fruits_num` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '水果编号',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间',
`insert_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '插入时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_fruits
-- ----------------------------
INSERT INTO `t_fruits` VALUES (1, '苹果', 'Apple', ' pingguo ', 'apple001', '2021-01-28 16:30:19', '2021-01-31 09:25:20');
INSERT INTO `t_fruits` VALUES (2, '香蕉', 'Banana', ' xiangjiao ', 'banana001', '2021-01-28 16:31:13', '2021-01-31 09:25:22');
SET FOREIGN_KEY_CHECKS = 1;
好啦,今天MySQL字符串函数的相关知识分享就到这里啦。
喜欢的小伙伴给个铛铛铛三连[奸笑]
今日立春,愿你不负春光,不负梦想!
小编的公众号:Java点滴