SUBSTRING()函数简介
SUBSTRING()函数是MySQL中的字符串截取函数,可以从一个字符串中截取子字符串。它是一种十分常用的函数,在MySQL中使用非常方便。
SUBSTRING()函数的使用方法
SUBSTRING()函数常用的语法形式如下:
SUBSTRING(str,start,length)
其中,str表示需要截取的字符串;start表示截取的起始位置(从1开始计数);length表示截取的长度。
举例如下:
假设有一个字符串"Hello, MySQL!",我们要从中截取从第7个字符开始的长度为6的子字符串,那么可以这样写:
SELECT SUBSTRING('Hello, MySQL!', 7, 6);
执行后,会返回字符串"MySQL!"。
SUBSTRING()函数的实例应用
使用SUBSTRING()函数截取日期
假设有一个日期字符串"2019-08-08",我们需要从中截取出年份。可以通过SUBSTRING()函数实现,如下所示:
SELECT SUBSTRING('2019-08-08', 1, 4);
执行后,会返回字符串"2019",即截取了"2019-08-08"中的年份。
使用SUBSTRING()函数截取URL中的域名
假设有一个URL字符串"http://www.example.com/foo/bar",我们需要从中截取出域名。可以通过SUBSTRING()函数实现,如下所示:
SELECT SUBSTRING('http://www.example.com/foo/bar', 8, LENGTH('http://www.example.com/foo/bar') - POSITION('/' IN SUBSTRING('http://www.example.com/foo/bar', 8)) - 7);
执行后,会返回字符串"www.example.com",即截取了"http://www.example.com/foo/bar"中的域名。
在上述示例中,我们首先使用SUBSTRING()函数将"http://"去掉,然后在剩下的字符串中通过POSITION()函数找到第一个"/"的位置,然后再通过LENGTH()函数和减法获取域名的长度,最后再使用SUBSTRING()函数进行截取。