14. mysql常用方法

点击量:19

concat_ws(separator,str1,str2,…)

select concat_ws('_',1,2,3,435,23,'asg')
    1_2_3_435_23_asg

strcmp(str1,str2)

== 0 ,>  1 ,< -1
我很怀疑程序代码中应该不能使用bool来接收这个值,应该使用int

upper(),lower()

find_in_set(str,strlist)

查找在strlist,字符串数组中位置
SELECT FIND_IN_SET('b','a,b,c,d')
2 ,索引不是从1开始,
SELECT FIND_IN_SET('a','a,b,c,d') => 1
SELECT FIND_IN_SET('f','a,b,c,d') => 0 不存在

locate(substr,str),locate(substr,str,pos)

查找子串在字符串中的位置
mysql> SELECT LOCATE('bar', 'foobarbar');
    -> 4
mysql> SELECT LOCATE('xbar', 'foobar');
        -> 0
mysql> SELECT LOCATE('bar', 'foobarbar', 5);
        -> 7

left(str,len),right(str,len),mid(str,pos,len),substring(str,pos,len)

mid 和substring 是一样的,mid是substring的代名词
left是substring的简写方式,但是right比较复杂,还做了一些额外的处理

select left('hello',3),right('hello',3),mid('hello',3,3),substring('hello',2,3)
hel llo llo ell

ascii

select ascii('a'),ascii('A')
97  65

日期

quarter(now()) -- 季度
week(now()) 第几周
select now(),quarter(now()),week(now())
    2017-06-22 19:37:38  2  25

系统

select version(),database(),user(),last_insert_id()
5.5.52-MariaDB  startmysql  dan@113.91.91.147   0

发表评论

电子邮件地址不会被公开。

4 × 1 =