mysql SUBSTRING_INDEX() 函数用法及字符串转数字

SUBSTRING_INDEX的用法:SUBSTRING_INDEX(str,delim,count).

在定界符 delim 以及count 出现前,从字符串str返回自字符串,若count为正值,则返回最终定界符(从左边开始)左边的一切内容。若count为负值,则返回定界符,从右边开始,右边的一切内容,代码如下:

  1. mysql> SELECT SUBSTRING_INDEX('www.phpfensi.com', '.', 2);
  2. -> 'www.mysql'
  3. mysql> SELECT SUBSTRING_INDEX('www.phpfensi.com', '.', -2);
  4. -> 'phpfensi.com'

字符串转数字:我用它来读取标题中带有数字用其排序,然而遇到一个问题.

个别标题没加数字序号时就会报错,那是因为上面函数返回值是字符串类型,如果查找不到.字符就会返回”,这样以来int类型的排序字段就写不进去,于是到网上搜了一下字符串转数字的方法,其实很简单:

select 'a'+0;

只需要 +0 就可以了~

补充一下另一个类是的函数

SUBSTRING()函数,代码如下:

  1. SUBSTRING(str,pos,len)
  2. SUBSTRING(str FROM pos FOR len)
  3. SUBSTRING(str,pos)
  4. SUBSTRING(str FROM pos)
  5. mysql> SELECT SUBSTRING(‘Quadratically’,5);
  6. -> ‘ratically’ --phpfensi.com
  7. mysql> SELECT SUBSTRING(‘foobarbar’ FROM 4);
  8. -> ‘barbar’
  9. mysql> SELECT SUBSTRING(‘Quadratically’,5,6);
  10. -> ‘ratica’
  11. mysql> SELECT SUBSTRING(‘Sakila’, -3);
  12. -> ‘ila’
  13. mysql> SELECT SUBSTRING(‘Sakila’, -5, 3);
  14. -> ‘aki’
  15. mysql> SELECT SUBSTRING(‘Sakila’ FROM -4 FOR 2);
  16. -> ‘ki’