第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

SQL 字符串函數(shù)

1. 前言

慕課解釋:SQL 內(nèi)置的字符串函數(shù)主要用于對(duì)字符類型的字段進(jìn)行相關(guān)的操作。

本小節(jié),我們將一起學(xué)習(xí) SQL 中的字符串函數(shù)。

字符類型是一個(gè)十分重要的類型,因此 SQL 提供了諸多便利的內(nèi)置函數(shù)來供開發(fā)者使用。

本小節(jié)測(cè)試數(shù)據(jù)如下,請(qǐng)先在數(shù)據(jù)庫(kù)中執(zhí)行:

DROP TABLE IF EXISTS imooc_user;
CREATE TABLE imooc_user
(
  id int PRIMARY KEY,
  username varchar(20),
  age int
);
INSERT INTO imooc_user(id,username,age)
VALUES (1,'peter',18),(2,'pedro',24),(3,'jerry',22);

2. 實(shí)踐

在 SQL 中,常見的字符串函數(shù)有如下幾個(gè):

函數(shù)名 作用
CONCAT 拼接多個(gè)字符串
LENGTH 得到字符長(zhǎng)度,一個(gè)中文漢字算3個(gè)字符,數(shù)字和字母算1個(gè)字符
CHAR_LENGTH 得到字符長(zhǎng)度,中文漢字、數(shù)字和字母算1個(gè)字符
LOWER 將英文字符串全部轉(zhuǎn)為小寫
UPPER 將英文字符串全部轉(zhuǎn)為大寫
REPLACE 替換字符串,接受3個(gè)參數(shù),分別是原字符串,被替代字符串,替代字符串
SUBSTRING 截取字符串,接受3個(gè)參數(shù),分別是原字符串,開始截取的位置,截取的長(zhǎng)度

2.1 例1 拼接用戶名和年齡

通過CONCAT,我們可以把 imooc_user 中的用戶名和年齡拼起來當(dāng)作簡(jiǎn)略的用戶信息:

SELECT CONCAT(username,age) FROM imooc_user;

結(jié)果:

+----------------------+
| CONCAT(username,age) |
+----------------------+
| peter18              |
| pedro24              |
| jerry22              |
+----------------------+

2.2 例2 獲得用戶名長(zhǎng)度

有時(shí)候,我們想要知道用戶名的長(zhǎng)度:

SELECT LENGTH(username) FROM imooc_user WHERE id=1;
+------------------+
| LENGTH(username) |
+------------------+
| 5                |
+------------------+

如果,用戶名含有中文,或者全是中文,那么我們就必須用CHAR_LENGTH

SELECT CHAR_LENGTH(username) FROM imooc_user WHERE id=1;
+-----------------------+
| CHAR_LENGTH(username) |
+-----------------------+
| 5                     |
+-----------------------+

2.3 例3 用戶名大小寫

我們想要得到全大寫的用戶名:

SELECT UPPER(username) FROM imooc_user;
+-----------------+
| UPPER(username) |
+-----------------+
| PETER           |
| PEDRO           |
| JERRY           |
+-----------------+

當(dāng)然也可以全小寫,雖然現(xiàn)在已經(jīng)是小寫了:

SELECT LOWER(username) FROM imooc_user;
+-----------------+
| LOWER(username) |
+-----------------+
| peter           |
| pedro           |
| jerry           |
+-----------------+

2.4 例4 替換用戶名

通過REPLACE我們可以替換用戶名中的pewe。

SELECT REPLACE(username,'pe','we') FROM imooc_user;
+-----------------------------+
| REPLACE(username,'pe','we') |
+-----------------------------+
| weter                       |
| wedro                       |
| jerry                       |
+-----------------------------+

2.5 例5 截取用戶名

使用SUBSTRING,我們可以獲得用戶名的前 3 個(gè)字符當(dāng)作簡(jiǎn)稱。

SELECT SUBSTRING(username, 1, 3) FROM imooc_user;
+---------------------------+
| SUBSTRING(username, 1, 3) |
+---------------------------+
| pet                       |
| ped                       |
| jer                       |
+---------------------------+

3. 個(gè)人經(jīng)驗(yàn)

  • LOWER 和 UPPER 函數(shù)在特定的場(chǎng)景是很有用的,如取標(biāo)題。
  • SUBSTRING 函數(shù)在不同的數(shù)據(jù)庫(kù)中的實(shí)現(xiàn)是不一樣的,不推薦在 SQL 里面實(shí)用,遷移性很差。