复制代码 代码如下:delimiter || DROP FUNCTION IF EXISTS IS_MOBILE|| CREATE FUNCTION IS_MOBILE( x VARCHAR(255)) RETURNS TINYINT(1) BEGIN DECLARE result TINYINT(1) DEFAULT 0; SET x = LCASE(x); IF RIGHT(x,4) = ‘.mp4‘ THEN SET result = 1; ELSEIF LEFT(x,9) = ‘[ctvideo]‘ THEN SET result = 1; END IF; RETURN result; END; delimiter ; 注: 这种方法是有应用场景的,我是用来在建立sphinx索引中做一个标记如: ...
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII(‘2‘); -> 50mysql> select ASCII(2); -> 50mysql> select ASCII(‘dx‘); -> 100也可参见ORD()函数。 ORD(str) 如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII c...
MySQL数据库提供了很多函数包括:(1)数学函数(2)字符串函数(3)日期和时间函数(4)条件判断函数(5)系统信息函数(6)加密函数(7)格式化函数一、数学函数数学函数主要用于处理数字,包括整型、浮点数等。 函数作用ABS(x)返回x的绝对值CEIL(x),CEILING(x)返回大于或等于x的最小整数FLOOR(x)返回小于或等于x的最大整数RAND()返回0-1之间的随机数SIGN(x)返回x的符号,x是负数、0、正数分别返回-1、0、1PI()返回圆周率TRUNCAT...
很多开发人员在使用MySQL时经常会在部分列上进行函数计算等,导致无法走索引,在数据量大的时候,查询效率低下。针对此种情况本文从MySQL5.7 及MySQL8.0中分别进行不同方式的优化。1、 MySQL5.7MySQL5.7版本中不支持函数索引,因此 遇到函数索引的时候需要进行修改,否则即使查询的字段上有索引,执行时也无法使用索引而进行全表扫描,数据量大的表查询时间会比较长。具体案例如下:1.1 创建测试表及数据mysql>use testdb;
Databas...
主要由以下链接看到,以后有补充再补上http://blog.csdn.net/phiberg/article/details/7672974http://www.cnblogs.com/zeroone/archive/2010/05/05/1727659.html /* 获取当前时间 */select now();/* 2014-09-04 10:25:15 */ /* 获取当前日期 */select curdate();/* 2014-09-04 */ /* 日期时间加减 */select curdate(),date_add(curdate(),interval -3 day);/* 2014-09-04 2014-09-01 */ /* 获取本周一的日期,当前是2014-09-04,...
数字函数1.ROUND(X) 四舍五入取整数 ROUND(X,D) 四舍五入根据D=几,来保留几位小数 (1)四舍五入取整数selectROUND(1.567); 结果:2 (2)四舍五入根据D=2,来保留2位小数selectROUND(1.567,2)DESC; 结果:1.57 2.CEIL(X) 向上取整数 (1)向上取整数selectCEIL(1.567); 结果:2 3.FLOOR(X) 向下取整数 (1)向下取整数selectFLOOR(1.567); 结果:1 4.TRUNCATE(X,D) 截断,不进行四舍五入 ...
四、条件推断函数
1、if(expr,v1,v2)函数:成立返回结果v1,否则结果v2
例:select id,if(grade>=60,'pass','fail') from t;
2、IFNULL(V1,V2)函数:假设空显示v2。否则显示v1
例:mysql> select a,ifnull(a,'no') from pet76;
+------+----------------+
| a | ifnull(a,'no') |
+------+----------------+
| 100 | 100 |
| NULL | no |
| 12 | 12 |
+------+----------------+
3 rows ...
ASCII(s)
返回字符串 s 的第一个字符的 ASCII 码。
SELECT ASCII(CustomerName) AS NumCodeOfFirstChar FROM Customers;CHAR_LENGTH(s)
返回字符串 s 的字符数
SELECT CHAR_LENGTH("RUNOOB") AS LengthOfString;CHARACTER_LENGTH(s)
返回字符串 s 的字符数
SELECT CHARACTER_LENGTH("RUNOOB") AS LengthOfString;CONCAT(s1,s2...sn)
字符串 s1,s2 等多个字符串合并为一个字符串
SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Fac...
CREATE DEFINER=`root`@`localhost` FUNCTION `getRoleName`(`rid` text) RETURNS text CHARSET utf8 COLLATE utf8_bin
BEGINDECLARE role_name text;SELECT GROUP_CONCAT(`name`) into role_name from table_name where FIND_IN_SET(id,rid);RETURN IFNULL(role_name,‘‘);
END
使用SELECT id,getRoleName(rid) FROM `table_name `
原文:https://www.cnblogs.com/phper8/p/14836014.html
1、ascii() 查询ascii值,多个字符的情况下,显示左边第一个字符的ascii值SELECT ASCII("abc"); 等同于 SELECT ASCII("a"); -> 972、进制转换函数 BIN() 二进制、OCT()八进制、HEX() 十六进制SELECT BIN(5);-> 1013、CHAR() 返回数值所对应的字符SELECT CHAR(77,77.3,‘77.3‘);-> MMM4、CONCAT(str1,str2...strn) 拼接字符串SELECT CONCAT(‘hello‘,‘world‘);-> helloworld5、字符长度函数 length()、char_length()、octet_len...
前言MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。 数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根(4)MOD(x,y)返回x被y除后的余数(5)CEIL(x)、CEILING(x)返回不小于x的最小整数(6)FLOOR(x)返回不大于x...
Mysql函数可以实现许多我们需要的功能,下面介绍的Mysql函数Last_insert_id()就是其中之一,希望对您学习Mysql函数能有所帮助。自动返回最后一个INSERT或 UPDATE 查询中 AUTO_INCREMENT列设置的第一个表发生的值。1. mysql> SELECT LAST_INSERT_ID();2. -> 195产生的ID 每次连接后保存在服务器中。这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMENT值的。这个值不能被其它...
使用laravel框架中的DB查询mysql数据库的时候,综合遇到执行mysql函数或者,自定义字段,一般情况下DB会把传入的函数当做字段处理方法如下:DB:raw(‘函数或者字段‘);例子:DB::raw(‘rand()‘)、DB::raw(‘date()‘) 原文:http://www.cnblogs.com/M-D-Luffy/p/6832081.html
mysql中函数的编写如下:create function functionName([parm type],[parm1 type],……)returns typebegin语句;return 值;end;如上就是mysql函数的编写的模板。在函数中,不能使用select语句来打印数据,使用select来查询数据并且赋值给变量,这个是可以的。函数是要有返回值的。在mysql中,函数可以使用在select中进行数据的处理。当然,函数中可以定义各种类型的变量,比如bigint,longtext,varchar,int等等数据类型,也可以定义...
字符函数时间函数数学函数其它函数 delimiter // 改变结束符call sp1() 调用sp1函数select ifnull(salary, 0) from table1; 替换null值, 若salary的值为null则用0来替换date_format select date_format(now(),‘%Y年-%m月-%d日‘); select date_format(now(),‘%Y年-%M月-%D日‘);round (取小数位数,四舍五入) mysql> select round(8.756,1); | 8.8 | mysql> select truncate(8.756,1); | 8.7 |truncate...