SQL 字符串函数
1. 前言
编程之家解释: 内置的字符串主要用于对字符类型
的字段进行相关的操作。
本小节,我们将一起学习 中的字符串
。
字符类型是十分重要的类型,因此 提供了诸多便利的内置来供开发者使用。
本小节测试数据如下,请先在中执行:
DROP TABLE IF EXISTS imooc_user;CREATE TABLE imooc_user( id int PRIMARY KEY, username varchar(), age int);INSERT INTO imooc_user(id,username,age)VALUES (,'peter',),(,'pedro',),(,'jerry',);
2. 实践
在 中,常见的字符串有如下几个:
通过CONCAT
,我们可以把 imooc_user 中的和年龄拼起来当作简略的信息:
SELECT CONCAT(username,age) FROM imooc_user;
结果:
+----------------------+ | CONCAT(username,age) | +----------------------+ | peter18 | | pedro24 | | jerry22 | +----------------------+
有时候,我们想要知道的长度:
SELECT LENGTH(username) FROM imooc_user WHERE id=;
+------------------+ | LENGTH(username) | +------------------+ | 5 | +------------------+
如果,含有,或者全是,那么我们就必须用CHAR_LENGTH
:
SELECT CHAR_LENGTH(username) FROM imooc_user WHERE id=;
+-----------------------+ | CHAR_LENGTH(username) | +-----------------------+ | 5 | +-----------------------+
我们想要得到全大写的:
SELECT UPPER(username) FROM imooc_user;
+-----------------+ | UPPER(username) | +-----------------+ | PETER | | PEDRO | | JERRY | +-----------------+
当然也可以全小写,虽然现在已经是小写了:
SELECT LOWER(username) FROM imooc_user;
+-----------------+ | LOWER(username) | +-----------------+ | peter | | pedro | | jerry | +-----------------+
通过REPLACE
我们可以替换中的pe
为we
。
SELECT REPLACE(username,'pe','we') FROM imooc_user;
+-----------------------------+ | REPLACE(username,'pe','we') | +-----------------------------+ | weter | | wedro | | jerry | +-----------------------------+
使用SUBSTRING
,我们可以获得的前 3 个字符当作简称。
SELECT SUBSTRING(username, , ) FROM imooc_user;
+---------------------------+ | SUBSTRING(username, 1, 3) | +---------------------------+ | pet | | ped | | jer | +---------------------------+
3. 个人经验
LOWER 和 UPPER 在特定的场景是很有用的,如取。
SUBSTRING 在不同的中的实现是不一样的,不推荐在 里面实用,迁移性很差。