您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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我们可以替换中的pewe

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 在不同的中的实现是不一样的,不推荐在 里面实用,迁移性很差。


联系我
置顶