Mariadb 函数是一种特殊的存储过程,它可以在SQL语句中调用,以实现更复杂的功能。Mariadb函数可以帮助开发人员更快地完成复杂的数据库操作,并且可以有效地减少代码量。
Mariadb函数有很多种,其中包括字符串函数、日期和时间函数、聚合函数、条件判断函数、流程控制函数和其他常用函数。
1. 字符串函数:CONCAT()、LENGTH()、SUBSTRING() 等。 2. 日期和时间函数:NOW()、CURDATE()、CURTIME() 等。 3. 聚合函数:SUM()、AVG()、MAX() 等。 4. 条件判断函数:IFNULL()、ISNULL() 等。 5. 流程控制函数:CASE WHEN THEN ELSE END 等。 6. 其他常用函数:ROUND()、ABS() 等。
使用NULL值时,请记住它们是未知值。 它们不是空字符串或零,它们是有效值。 在表创建中,列规范允许将它们设置为接受空值,或拒绝它们。 只需使用NULL或NOT NULL子句。 这在缺少记录信息(如ID号)的情况下具有应用。
用户定义的变量的值为NULL,直到显式赋值。 存储的例程参数和局部变量允许将值设置为NULL。 当局部变量没有默认值时,它的值为NULL。
NULL不区分大小写,并具有以下别名 -
标准比较运算符不能与NULL(例如,=,>,> =,<=,<或或!=)一起使用,因为所有与NULL值的比较都返回NULL,而不是true或false。 与NULL或可能包含它的比较必须使用“<=>”(NULL-SAFE)运算符。
其他可用的运营商有 -
IS NULL - 它测试NULL值。
IS NOT NULL - 它确认不存在NULL值。
ISNULL - 在发现NULL值时返回值1,在不存在时返回0。
COALESCE - 返回列表的第一个非NULL值,或者在没有一个值的情况下返回NULL值。
在排序操作中,NULL值具有最低值,因此DESC次序在底部产生NULL值。 MariaDB允许为NULL值设置更高的值。
有两种方法可以做到这一点,如下所示 -
SELECT column1 FROM product_tbl ORDER BY ISNULL(column1), column1;
另一种方式 -
SELECT column1 FROM product_tbl ORDER BY IF(column1 IS NULL, 0, 1), column1 DESC;
当任何参数为NULL时,函数通常输出NULL。 但是,还有专门用于管理NULL值的函数。 他们是 -
IFNULL() - 如果第一个表达式不为NULL,它返回它。 当它求值为NULL时,它返回第二个表达式。
NULLIF() - 当比较的表达式相等时,它返回NULL,否则返回第一个表达式。
像SUM和AVG的函数忽略NULL值。
在声明为NOT NULL的列中插入NULL值时,会发生错误。 在默认SQL模式下,NOT NULL列将根据数据类型插入一个默认值。
当字段是TIMESTAMP,AUTO_INCREMENT或虚拟列时,MariaDB会以不同方式管理NULL值。 插入在AUTO_INCREMENT列中会导致序列中的下一个数字插入到其位置。 在TIMESTAMP字段中,MariaDB分配当前时间戳。 在虚拟列中,本教程后面讨论的主题将分配默认值。
UNIQUE索引可以包含许多NULL值,但是,主键不能为NULL。
当您使用ALTER命令修改列时,如果没有NULL规范,MariaDB会自动分配值。
由于速度或一次性数据,一些操作可能受益于临时表。 临时表的生命期在会话终止时结束,无论是从命令提示符,PHP脚本还是通过客户...
在MariaDB中创建或删除数据库需要特权,通常仅授予root用户或管理员。 在这些帐户下,您有两个删除数据库的选项:mysqladmin二进...
F.41.1. 示例 tsm_system_rows模块提供了表采样方法 SYSTEM_ROWS,它可以用在SELECT命令的TABLESAMPLE子句中。这种表采样方...
vacuumlo — 从PostgreSQL数据库中移除孤立的大对象大纲vacuumlo [option...] dbname...描述 vacuumlo是一个从PostgreSQL数据库...
FETCH 子句在 Oracle 中可以用来限制查询返回的行数,本教程将教大家如何使用 FETCH 子句。OracleFETCH 子句语法以下说明了行限...
在Oracle中,Initcap()函数可以将每个单词中的第一个字符设置为大写,其余的设置为小写。下面就是Initcap()函数的语法及具体用法...
MySQL Date 函数定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔。 语法DATE_ADD(date,INTERVAL expr type) date 参数是合...
遇到锁表快速解决办法依次执行1-6步,运行第6步生成的语句即可。如果特别着急,运行 1 2 6 步 以及第6步生成的kill语句 即可。第...
在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。 MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 RE...