mysql实现字符串截取


本文摘自PHP中文网,作者V,侵删。

首先我们需要了解字符串截取函数:

left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。

(免费学习视频教程推荐:mysql视频教程)

具体实例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

1. 字符串截取:left(str, length) 

mysql> select left('sqlstudy.com', 3); 

+-------------------------+ 

| left('sqlstudy.com', 3) | 

+-------------------------+ 

| sql                     | 

+-------------------------+ 

2. 字符串截取:right(str, length) 

mysql> select right('sqlstudy.com', 3); 

+--------------------------+ 

| right('sqlstudy.com', 3) | 

+--------------------------+ 

| com                      | 

+--------------------------+ 

3. 字符串截取:substring(str, pos); substring(str, pos, len) 

3.1 从字符串的第 4 个字符位置开始取,直到结束。 

mysql> select substring('sqlstudy.com', 4); 

+------------------------------+ 

| substring('sqlstudy.com', 4) | 

+------------------------------+ 

| study.com                    | 

+------------------------------+ 

3.2 从字符串的第 4 个字符位置开始取,只取 2 个字符。 

mysql> select substring('sqlstudy.com', 4, 2); 

+---------------------------------+ 

| substring('sqlstudy.com', 4, 2) | 

+---------------------------------+ 

| st                              | 

+---------------------------------+ 

3.3 从字符串的第 4 个字符位置(倒数)开始取,直到结束。 

mysql> select substring('sqlstudy.com', -4); 

+-------------------------------+ 

| substring('sqlstudy.com', -4) | 

+-------------------------------+ 

| .com                          | 

+-------------------------------+ 

3.4 从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。 

mysql> select substring('sqlstudy.com', -4, 2); 

+----------------------------------+ 

| substring('sqlstudy.com', -4, 2) | 

+----------------------------------+ 

| .c                               | 

+----------------------------------+ 

我们注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。 

4. 字符串截取:substring_index(str,delim,count

4.1 截取第二个 '.' 之前的所有字符。 

mysql> select substring_index('www.sqlstudy.com.cn', '.', 2); 

+------------------------------------------------+ 

| substring_index('www.sqlstudy.com.cn', '.', 2) | 

+------------------------------------------------+ 

| www.sqlstudy                                   | 

+------------------------------------------------+ 

4.2 截取第二个 '.' (倒数)之后的所有字符。 

mysql> select substring_index('www.sqlstudy.com.cn', '.', -2); 

+-------------------------------------------------+ 

| substring_index('www.sqlstudy.com.cn', '.', -2) | 

+-------------------------------------------------+ 

| com.cn                                          | 

+-------------------------------------------------+ 

4.3 如果在字符串中找不到 delim 参数指定的值,就返回整个字符串 

mysql> select substring_index('www.sqlstudy.com.cn', '.coc', 1); 

+---------------------------------------------------+ 

| substring_index('www.sqlstudy.com.cn', '.coc', 1) | 

+---------------------------------------------------+ 

| www.sqlstudy.com.cn                               | 

+---------------------------------------------------+ 

 4.4 截取一个表某个字段数据的中间值 如该字段数据为  1,2,3 

mysql> select substring_index(substring_index(该字段, ',', 2) , ',', -1) from 表名;   

+--------------------------------------------------------------+   

| substring_index(substring_index(该字段, ',', 2);  , ',', -1)|   

+--------------------------------------------------------------+   

| 2                                        |   

+--------------------------------------------------------------+

相关文章教程推荐:mysql教程

以上就是mysql实现字符串截取的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mysql实现字符串截取

sql截取字符串前几位

更多相关阅读请进入《mysql.字符串》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...