mysql字符串函数大全(更新完成)
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主
文章目录
- sql数据:
- ASCII(字段名)
- char_length(字段名)
- CHARACTER_length("cyg")
- concat
- concat_ws
- FIELD()
- FIND_IN_SET()
- format()
- INSERT()
- LOCATE
- LCASE()
- LEFT()
- LOWER()
- lpad()
- LTRIM
- mid()
- position()
- REPEAT()
- REPLACE()
- reverse()
- RIGHT()
- rpad()
- RTRIM()
- SPACE()
- strcmp()
- SUBSTR()
- SUBSTRING()
- SUBSTRING_INDEX()
- TRIM()
- UCASE()
- UPPER()
sql数据:
-- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- 主机: localhost
-- 生成日期: 2022-11-06 18:14:31
-- 服务器版本: 5.7.26
-- PHP 版本: 7.3.4
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- 数据库: `a`
--
-- --------------------------------------------------------
--
-- 表的结构 `customers`
--
CREATE TABLE `customers` (
`id` int(11) NOT NULL COMMENT '主键id',
`name` varchar(200) COLLATE utf8_unicode_ci NOT NULL COMMENT '名字',
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '时间'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- 转存表中的数据 `customers`
--
INSERT INTO `customers` (`id`, `name`, `time`) VALUES
(1, '12346789', '2022-11-06 08:16:11');
--
-- 转储表的索引
--
--
-- 表的索引 `customers`
--
ALTER TABLE `customers`
ADD PRIMARY KEY (`id`);
--
-- 在导出的表使用AUTO_INCREMENT
--
--
-- 使用表AUTO_INCREMENT `customers`
--
ALTER TABLE `customers`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', AUTO_INCREMENT=2;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
ASCII(字段名)
select ASCII(name) as numname FROM Customers;
解析:as是起别名的意思。FROM Customers是哪一个表.select 是查询操作.ASCII(name)是查询name这个字段第一个字母的 ASCII 码.1的ASCII是49没错.
char_length(字段名)
select char_length('cyg') as length;
解析:返回cyg这个字符串的字符数量.以1为起点
CHARACTER_length(“cyg”)
SELECT CHARACTER_length("cyg") AS length666;
解析:返回cyg这个字符串的字符数量.以1为起点
concat
SELECT concat("sql","mysql") as concat;
解析:合并字符串
concat_ws
合并字符串。以-为分割符
SELECT concat_ws("-","SQL","mysql") as concat_ws;
FIELD()
SELECT FIELD("c", "a", "b", "c", "d", "e");
解析:找到第一个字符c在"abcde"中第一次出现的位置.从下标0开始计算(就是从第一个c开始计算啦)
FIND_IN_SET()
SELECT FIND_IN_SET("c", "a,b,c,d,e");
解析:字符串c在abcde中第一次出现的位置.从1开始计算.(就是从a开始计算啦)
format()
SELECT format(250500.5634, 2);
INSERT()
SELECT INSERT("google.com", 1, 6, "runoob");
解析:从字符串第一个位置开始的 6 个字符替换为 runoob:
LOCATE
SELECT LOCATE('st','myteststring');
解析:从第二个参数中查找第一个参数中第一次出现的位置(从1开始查找.)
LCASE()
SELECT LCASE("CYG");
解析:把大写转换成小写
LEFT()
SELECT LEFT('runoob',2);
解析:截取第一个参数中的开头的两个字符
LOWER()
SELECT LOWER('RUNOOB');
解析:把大写转换成小写
lpad()
SELECT lpad('abc',5,'xx');
解析:将字符串 xx 填充到 abc 字符串的开始处:
LTRIM
SELECT LTRIM(" RUNOOB") AS LeftTrimmedString;
解析:去掉字符串 RUNOOB开始处的空格。
mid()
select mid("RUNOOB", 2, 3) AS ExtractString;
解析:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:(从1开始计算)
position()
SELECT position('b' in "abc");
解析:b在abc的哪一个位置。在上图是第二个位置,所以输出2
REPEAT()
SELECT REPEAT('runoob',3);
解析:把第一个参数中的runoob重复三次
REPLACE()
SELECT REPLACE('abc','a','x');
解析:把第一个参数中的a替换成x
reverse()
SELECT reverse("abc");
解析:把abc倒过来输出
RIGHT()
SELECT RIGHT('runoob',2);
解析:返回字符串 s 的后 2个字符
rpad()
SELECT rpad('abc',5,'xx');
解析:abc的结尾添加xx。使字符串长度达到5个。
RTRIM()
SELECT RTRIM("RUNOOB ") AS RightTrimmedString;
去掉字符串结尾处的空格
SPACE()
SELECT SPACE(10);
解析:返回 10 个空格:
strcmp()
SELECT strcmp("runoob", "runoob");
解析: 比较字符串 s1 (第一个参数)和 s2(第二个参数),如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTR()
SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString;
解析:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:
SUBSTRING()
SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString; -- UNO
解析:从字符串 RUNOOB 中的第 2 个位置截取 3个 字符
SUBSTRING_INDEX()
SELECT SUBSTRING_INDEX('a*b','*',1);
解析:如果 number 是正数,返回第 number 个字符左边的字符串。 如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。
SELECT SUBSTRING_INDEX('a*b','*',-1);
TRIM()
SELECT TRIM(' RUNOOB ') AS TrimmedString;
解析:去掉字符串 RUNOOB 的首尾空格
UCASE()
SELECT UCASE("runoob");
解析:将字符串 runoob 转换为大写
UPPER()
SELECT UPPER("runoob");
解析:将字符串 runoob 转换为大写
相关文章
- MySQL和Oracle字符串截取函数用法总结(比较)
- MySQL基础之函数【字符串,数值,日期,流程】和约束
- MySQL中利用时间函数的技巧(mysql中的时间函数)
- MySQL快速清除表中所有数据(mysql删除全表数据)
- 字符串MySQL如何使用字符串进行数据存储(mysql怎么存储)
- MySQL中的相等函数使用方法(mysql相等函数)
- 远程服务器构建MySQL数据库的连接(远程服务器链接mysql)
- MySQL:无限存储能力提升数据应用。(mysql能存储多少数据)
- 中的某个字符MySQL如何去除字符串中的指定字符(mysql去掉字符串)
- MySQL数据库技术备案(mysql温备)
- MySQL中行列函数的应用(mysql行列函数)
- 信息MySQL中查找并打印错误信息的步骤(mysql打印错误)
- 索引MySQL簇索引:有效提升数据库性能(mysql簇)
- MySQL之 四舍五入函数及其应用(mysql四舍五入函数)
- 如何查看MySQL数据库名称?(查看mysql数据库名称)
- Android实现PHP连接MySQL进行数据交互(android通过php连接mysql)
- 最佳架构:MySQL环境优化实战(mysql环境要求)
- 如何在MySQL中正确显示日期?(mysql日期显示)
- 如何应对Mysql索引变慢的问题?——25个字的技巧总结(mysql索引变慢)
- MySQL中简单实用的字符串分割函数(mysql字符串分割函数)
- 解密MySQL日期函数今天在MySQL中怎么表示(mysql中今天怎么表示)
- MySQL中sleep函数的使用方法及注意事项(mysql中sleep)
- MySQL中如何使用max函数来获取最大值(mysql 中max函数)
- MySQL中使用LEFT语句实现字符串截取(mysql中left语句)
- 如何在MySQL中获取最新数据使用last函数实现(mysql中last)
- MySQL中如何使用IF函数进行大小判断(mysql中if判断大小)
- MySQL中存取图像从简单到复杂(c mysql存取图片)
- MySQL实现高效图片存取(c mysql 图片存取)
- MySQL分组操作你知道在哪里吗(mysql中分组在哪里)
- MySQL函数传递参数的方法(mysql中函数传参数)
- MySQL 存储字符串不去掉右边空格解决方法(mysql不去掉右边空格)
- MySQL上传造成锁死问题的解决方案(mysql 上传 锁死)
- MySQL查询如何进行上下级关系查询(mysql 上下级查询)