zl程序教程

您现在的位置是:首页 >  其他

当前栏目

MySql常用函数(逻辑判断,字符串处理,日期函数)FIND_IN_SET、IF、ISNULL、IFNULL、NULLIF、SUBSTR、SUBSTRING_INDEX、CONCAT、LENGTH

2023-03-07 09:44:00 时间

数据库版本:MySql 5.7

FIND_IN_SET

定义: 在逗号分隔的字符串列表中查找指定字符串的位置

FIND_IN_SET(str,strlist)

FIND_IN_SET()函数接受两个参数:

  • 第一个参数str是要查找的字符串。
  • 第二个参数strlist是要搜索的逗号分隔的字符串列表

FIND_IN_SET()函数根据参数的值返回一个整数或一个NULL值:

  • 如果str或strlist为NULL,则函数返回NULL值。
  • 如果str不在strlist中,或者strlist是空字符串,则返回零。
  • 如果str在strlist中,则返回一个正整数。

IF函数

定义: IF函数根据条件的结果为true或false,true 返回第一个值,false返回第二个值。

`IF`(expr1,expr2,expr3)

ISNULL(expr)

定义: 判断exper是否为空,是则返回1,否则返回0

ISNULL(expr)

IFNULL(exper1,exper2)

定义: 判断exper1是否为空,是则用exper2代替

IFNULL(exper1,exper2)

NULLIF(exper1,exper2)

定义: 如果expr1= expr2 成立,那么返回值为NULL,否则返回值为 expr1。

NULLIF(exper1,exper2)

字符串函数

SUBSTR

SUBSTR (str, pos) 截取从pos位置开始到最后的所有str字符串,mysql中的start是从1开始

SUBSTR (str, pos, len)

参数说明:

  • str为列名/字符串;
  • pos为起始位置;mysql中的起始位置pos是从1开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从1开始),反之如果起始位置pos为负数,那么 表示就从倒数第几个开始截取;
  • len为截取字符个数/长度。

SUBSTRING

和SUBSTR相同

SUBSTRING_INDEX

定义: 按关键字截取字符串

substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)

N可以为负数,表示倒数第N个索引字符后面的字符串。有负号的时候,可以将整个字符倒过来看,依旧是第N个字符前面的部分

CONCAT

定义: 将多个字符串合并为一个字符串

LENGTH

定义: 返回字符串的长度,一个汉字是算三个字符,一个数字或字母算一个字符。

CHAR_LENGTH

定义: 返回字符串的长度,不管汉字还是数字或者是字母都算是一个字符。

REPLACE

定义: 在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串

REPLACE(str,from_str,to_str)

日期函数

NOW

定义: 获取当前时间

date_format

定义: 获取当前时间并格式化

curdate

定义: 获取当前日期

curtime

定义: 获取当前时间

str_to_date

定义: 字符串转日期

time_format

定义:日期转字符串