6. LEFT(s,n)、RIGHT(s,n)
- 作用:前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符
SELECT LEFT('左边开始',2),RIGHT('右边开始',2);
7. LPAD(s1,len,s2)、RPAD(s1,len,s2)
作用:前者返回s1,其左边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符;前者返回s1,其右边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符
SELECT LEFT('左边开始',2),RIGHT('右边开始',2);
8. LTRIM(s)、RTRIM(s)
- 作用:前者返回字符串s,其左边所有空格被删除;后者返回字符串s,其右边所有空格被删除
SELECT LTRIM(' 左边开始'),RTRIM(' 右边开始
9. TRIM(s)
- 作用:返回字符串s删除了两边空格之后的字符串
SELECT TRIM(' 是是 ');
10. TRIM(s1 FROM s)
- 作用:删除字符串s两端所有子字符串s1,未指定s1的情况下则默认删除空格
11. REPEAT(s,n)
- 作用:返回一个由重复字符串s组成的字符串,字符串s的数目等于n
SELECT REPEAT('测试',5);
12. SPACE(n)
- 作用:返回一个由n个空格组成的字符串
SELECT SPACE(20);
13. REPLACE(s,s1,s2)
- 作用:返回一个字符串,用字符串s2替代字符串s中所有的字符串s1
14. STRCMP(s1,s2)
- 作用:若s1和s2中所有的字符串都相同,则返回0;根据当前分类次序,第一个参数小于第二个则返回-1,其他情况返回1
SELECT STRCMP('我我我','我我我');
SELECT STRCMP('我我我','是是是');
15. SUBSTRING(s,n,len)、MID(s,n,len)
- 作用:两个函数作用相同,从字符串s中返回一个第n个字符开始、长度为len的字符串
SELECT SUBSTRING('测试测试',2,2);
SELECT MID('测试测试',2,2);
16. LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1)
- 作用:三个函数作用相同,返回子字符串str1在字符串str中的开始位置(从第几个字符开始)
SELECT LOCATE('字','获取字符串的位置');
17. REVERSE(s)
- 作用:将字符串s反转
SELECT REVERSE('字符串反转');
18. ELT(N,str1,str2,str3,str4,…)
- 作用:返回第N个字符串
SELECT ELT(2,'字符串反转','sssss');
三. 日期和时间函数
当前时间
1. CURDATE()、CURRENT_DATE()
- 作用:将当前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定
2. CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
- 作用:这四个函数作用相同,返回当前日期和时间值,格式为"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具体格式根据函数用在字符串或数字语境中而定
SELECT CURRENT_TIMESTAMP()
SELECT LOCALTIME()
SELECT NOW()
SELECT SYSDATE()
3. UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date)
- 作用:前者返回一个格林尼治标准时间1970-01-01 00:00:00到现在的秒数,后者返回一个格林尼治标准时间1970-01-01 00:00:00到指定时间的秒数
SELECT UNIX_TIMESTAMP()
4. FROM_UNIXTIME(date)
- 作用:和UNIX_TIMESTAMP互为反函数,把UNIX时间戳转换为普通格式的时间
5. UTC_DATE()和UTC_TIME()
- 前者返回当前UTC(世界标准时间)日期值,其格式为"YYYY-MM-DD"或"YYYYMMDD",后者返回当前UTC时间值,其格式为"YYYY-MM-DD"或"YYYYMMDD"。具体使用哪种取决于函数用在字符串还是数字语境中
SELECT UTC_DATE()
SELECT UTC_TIME()
6. MONTH(date)和MONTHNAME(date)
- 作用:前者返回指定日期中的月份,后者返回指定日期中的月份的名称
SELECT MONTH(NOW())
SELECT MONTHNAME(NOW())