MySql常用字符串函数
创始人
2024-05-27 02:18:06
0

MySql常用字符串函数

1 建表语句

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for emp
-- ----------------------------
DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp`  (`EMPNO` int(4) NOT NULL,`ENAME` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`JOB` varchar(9) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`MGR` int(4) NULL DEFAULT NULL,`HIREDATE` date NULL DEFAULT NULL,`SAL` double(7, 2) NULL DEFAULT NULL,`COMM` double(7, 2) NULL DEFAULT NULL,`DEPTNO` int(2) NULL DEFAULT NULL,PRIMARY KEY (`EMPNO`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of emp
-- ----------------------------
INSERT INTO `emp` VALUES (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800.00, NULL, 20);
INSERT INTO `emp` VALUES (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600.00, 300.00, 30);
INSERT INTO `emp` VALUES (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250.00, 500.00, 30);
INSERT INTO `emp` VALUES (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975.00, NULL, 20);
INSERT INTO `emp` VALUES (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250.00, 1400.00, 30);
INSERT INTO `emp` VALUES (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850.00, NULL, 30);
INSERT INTO `emp` VALUES (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450.00, NULL, 10);
INSERT INTO `emp` VALUES (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000.00, NULL, 20);
INSERT INTO `emp` VALUES (7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000.00, NULL, 10);
INSERT INTO `emp` VALUES (7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500.00, 0.00, 30);
INSERT INTO `emp` VALUES (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100.00, NULL, 20);
INSERT INTO `emp` VALUES (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950.00, NULL, 30);
INSERT INTO `emp` VALUES (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000.00, NULL, 20);
INSERT INTO `emp` VALUES (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300.00, NULL, 10);SET FOREIGN_KEY_CHECKS = 1;

2.拼接多个字段

2.1 语法

CONCAT_WS(分隔符,s1,s2...sn)
-- 其中s1,s2...sn是需要拼接的字段

2.2 示例sql语句

-- 把员工表中的员工编号、员工姓名、入职日期拼接
-- ws是with seperator 的缩写
SELECT concat_ws(",",empno,ename,hiredate)
FROM emp

2.3 运行截图

在这里插入图片描述

3 返回指定子字符串第一次出现的字符串内的索引

3.1 语法

-- 返回指定子字符串第一次出现的字符串内的索引LOCATE(子字符串,字符串)

3.2 示例sql语句

-- 返回指定子字符串第一次出现的字符串内的索引,若不存在就返回0
-- 位置是默认从1开始算的
SELECT LOCATE('a',ename),ename
FROM emp

3.3 运行截图

在这里插入图片描述

4 字符串所有字母大写转小写

4.1 语法

--将字符串s所有字母转换成小写,s也可以是一个字段
LOWER(字段名)

4.2 示例sql语句

-- LOWER(s) 会将字符串s全部转成小写
SELECT LOWER(ename),ename
FROM emp

4.3 运行截图

在这里插入图片描述

5 字符串所有字母小写转大写

5.1 语法

--将字符串s所有字母都转换成大写,s也可以是一个字段
UPPER(字段名)

5.2 示例sql语句

-- UPPER(s) 会将字符串s全部转成大写
SELECT UPPER(ename),ename
FROM emp

5.3 运行截图

在这里插入图片描述

6 去除字符串左右两边的空格

6.1 语法

trim(s)

6.2 示例sql语句

-- trim(s) 会将字符串s中的左右空格都去除掉
SELECT trim(' zhangsan ')
FROM dual

6.3 运行截图

在这里插入图片描述

7 返回字符串的前几个字符

7.1 语法

-- 返回字符串s的前个字符
LEFT(s,n)

7.2 示例sql语句

SELECT LEFT(ename,2),ename
FROM emp

7.3 运行截图

在这里插入图片描述

8 返回字符串的后几个字符

8.1 语法

-- 返回字符串 s 的后 n 个字符
RIGHT(s,n)

8.2 示例sql语句

-- 返回字符串 s 的后 n 个字符 RIGHT(s,n)
SELECT RIGHT(ename,2),ename
FROM emp

8.3 运行截图

在这里插入图片描述

9 截取字符串

9.1 语法

-- s是被截取的字符串,start是截取的开始位置(起始位置从1开始算),length是截取的长度,若截取不到,就是null值
SUBSTR(s, start, length)

9.2 示例sql语句

-- 截取员工姓名中的第二个字符和第三个字符
SELECT SUBSTR(ename,2,2),ename
FROM emp

9.3 运行截图

在这里插入图片描述

10 同一列数据拼接到同一行上

10.1 语法

-- 其中[]是代表可选的意思
group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符']) 

10.2 示例sql语句

-- 把每个组的员工在一个字段显示出来,之间用逗号分隔
SELECT deptno,group_concat(ename ORDER BY ename asc)
FROM emp
GROUP BY deptno

10.3 运行截图

在这里插入图片描述

相关内容

热门资讯

安卓系统的经典铃声,唤醒回忆的... 你有没有发现,手机里那些熟悉的铃声,有时候就像老朋友一样,陪伴着我们度过了无数个日日夜夜?今天,就让...
鸿蒙系统还是安卓系统号,系统之... 你有没有想过,手机里的操作系统就像是我们的大脑,它决定了我们手机能做什么,不能做什么。现在,就让我们...
安卓系统装贝达,安卓系统下的贝... 你有没有想过,你的安卓手机装上贝达系统后,会有怎样的奇妙体验呢?想象你的手机瞬间变身,变得流畅无比,...
安卓系统沃尔沃音响设置,轻松享... 你有没有发现,自从你的安卓手机和沃尔沃音响完美结合后,开车时的音乐体验简直就像是在音乐厅里一样?没错...
米10系统基于安卓,基于安卓的... 你知道吗?最近手机圈里可是热闹非凡呢!小米10这款手机,自从发布以来就吸引了无数人的目光。而它所搭载...
命令安卓系统怎么卸载,安卓系统... 手机里装了太多不用的应用,是不是感觉手机都快要爆炸了?别急,今天就来教你怎么轻松卸载安卓系统中的应用...
安卓系统安装小学教材,安卓系统... 你有没有想过,手机里的安卓系统竟然能装上小学教材呢?没错,你没听错!在这个信息爆炸的时代,科技的发展...
华为安卓系统锁住了,揭秘锁屏背... 最近是不是发现你的华为手机有点儿“顽皮”了?它突然间变得神秘起来,屏幕上那个熟悉的安卓系统仿佛被施了...
安卓电脑改苹果系统,跨越平台的... 你有没有想过,把你的安卓电脑改头换面,变成一个优雅的苹果系统使用者呢?想象那流畅的界面,那独特的触控...
安卓系统怎么按后台,并在任务完... 你有没有遇到过这种情况:手机屏幕一黑,安卓系统就自动进入后台了?是不是觉得有点小郁闷,想要手动切换回...
2021年安卓系统ui,202... 你有没有发现,手机界面最近好像换了个模样?没错,2021年的安卓系统UI可是来了一场大变身呢!今天,...
安卓系统程序编写软件,打造个性... 你有没有想过,手机里的那些神奇应用是怎么诞生的呢?没错,就是那些让你在闲暇时光刷刷视频、在通勤路上玩...
自动开机安卓系统,智能生活新篇... 你有没有想过,当你的安卓手机在清晨的第一缕阳光照耀下自动开机,那种轻松自在的感觉?想象不用再手动解锁...
真我平板x安卓系统,畅享智能生... 亲爱的读者们,你是否也在寻找一款既能满足你对平板电脑的期待,又能让你畅享安卓系统带来的无限乐趣的设备...
恒星安卓系统官网,引领未来智能... 亲爱的读者们,你是否曾好奇过那些闪耀在夜空中的星星,它们是如何在浩瀚的宇宙中熠熠生辉的呢?今天,我要...
u8安卓系统,功能与特色深度解... 你知道吗?在手机操作系统界,有一个小家伙可是相当受欢迎的,它就是U8安卓系统。今天,就让我带你来一探...
花椒安卓系统美颜功能,打造完美... 你有没有发现,现在拍照已经不仅仅是记录生活的工具了,它更是一种艺术创作呢!而在这其中,花椒安卓系统的...
戴尔平板升级安卓系统,畅享安卓... 你有没有发现,戴尔平板最近好像悄悄地来了一次大变身?没错,就是那个我们熟悉的戴尔平板,它现在竟然可以...
安卓助手怎么升级系统,畅享最新... 亲爱的安卓用户们,你是否也和我一样,对安卓系统的升级充满了期待和好奇呢?每次系统升级,都仿佛是给我们...
国产安卓系统的发展,国产安卓系... 你知道吗?在我国科技飞速发展的今天,国产安卓系统可是越来越受到大家的关注呢!它就像一颗冉冉升起的新星...