mysql修改内置函数,Mysql常见内置函数
算数运算子
+, -, *, /
除于 0 会等于 NULL。
比较运算子
任何东西跟 NULL 比较会等于 NULL。
比较字符串通常不需要注意大小写,如果要比较大小写,用 BINARY 关键词。
程序代码:
SELECT *
FROM department
WHERE name = BINARY 'marketing';
程序代码:
= 相等
!= 或 <> 不相等
< 小于
<= 小或等于
> 大于
>= 大或等于
n BETWEEN
min AND max 测试范围
n IN (set) set 可以是一系列的数值或子查询。
<=> 可以比较 NULL,如果比较两个 NULL 会传回 1。
n IS NULL 测试 n 是否 NULL。
ISNULL(n) 测试 n 是否 NULL。
逻辑运算子
传回的值有 1 (true), 0 (false, 或 NULL。
任何不是 0 或不是 NULL 的值都是 true。
程序代码:
AND 或 && n && m 和
true && true = true
false && anything = false
其它会等于 NULL
OR 或 || n || m 或
true || anything = true
NULL || false = NULL
NULL || NULL = NULL
false || false = false
NOT 或 ! NOT n 不是
!true = false
!false = true
!NULL = NULL
XOR n XOR m 不包含的 OR
true XOR true = false
true XOR false = true
false XOR true = true
NULL XOR n = NULL
n XOR NULL = NULL
控制流向的函式
IF (e1, e2, e3)
如果 e1 是 true,IF 会传回 e2,不然会传回 e3。
CASE value
WHEN [compare-value] THEN result
[WHEN [compare-value] THEN result ...]
[ELSE result]
END
或是
CASE
WHEN [condition] THEN result
[WHEN [condition] THEN result ...]
[ELSE result]
END
程序代码:
SELECT workdate, CASE
WHEN workdate < 2000-01-01 THEN "archived"
WHEN workdate < 2003-01-01 THEN "old"
ELSE "current"
END
FROM assignment;
字符串函式
concat(s1, s2, ...) - 连接字符串 s1 和 s2...
conv(n, original_base, new_base) - 转换数字 n 从本来的 base 到新的 base
length(s) - 找字符串的长度
load_file(filename) - 依照字符串传回档案的内容
locate(needle, haystack, position) - 传回 needle 字符串的开始位置,在 haystack 字符串里,从 position 开始
lower(s) and upper(s) - 转换 s 到小写或大写
quote(s) - 跳脱 s 字符串,让它可以安全输入数据库
replace(target, find, replace) - 传回 target 字符串,将 find 字符串覆盖成 replace 字符串
soundex(s) - 传回跟 s 类似的 soundex 字符串。soundex 是字符串的发音
substring(s, position, length) - 传回字符串里的字符串,s 是本来的字符串,position 是开始的位置,length 是传回的字数
trim(s) - 移除开头跟字尾的空格符。也可以用 rtrim() 或 ltrim()
字符串比较的函式
LIKE - 利用通配字符来进行比较
RLIKE - 利用正规表示法来进行比较
STRCMP - 比较字符串,类似 C 里面的 strcmp()
MATCH - 进行 full-text 比较
利用通配字符来进行比较
程序代码:
SELECT *
FROM department
WHERE name LIKE '%research%';
% 会吻合任何字数,包括 0。
_ 会吻合单一字数, _at 会吻合 cat, mat, bat...
利用正规表示法来进行比较
RLIKE 可以用来吻合正规表示法。
'cat' 会吻合 'catacomb' 和 'the cat sat on the mat'。
如果只要吻合 'cat',用 '^cat$'。
^ 表示在吻合的字符串开头是 'cat'。
$ 表示在吻合的字符串最后是 'cat'。
. 可以用来代表通配字符,'.at' 会吻合 'cat', 'bat', 'mat'。
* 表示字符可以出现零或多次,'n*' 会吻合 '', 'nn', 'nnn'。
() 会归类字符,'(cat)*' 会吻合 '', 'cat', 'catcat', 'catcatcat'。
.* 会吻合任何字或字符串。
+ 表示在他之后的字或字符串会重复一或多次。
? 表示吻合一或零次。
列出特定的范围,'(cat)(2,4)' 会吻合 'catcat', 'catcatcat', 和 'catcatcatcat'。
[] 可以列出一系列的文字,'[a-z]' 会吻合任何字母,'[a-z]*' 会吻合任何数量的字母。
文字类别,[[:alnum:]] 会吻合任何字母和数字的文字。
程序代码:
SELECT *
FROM department
WHERE name RLIKE 'an';
这会吻合全部有包括 'an' 的部门。
用 STRCMP() 来比较字符串
STRCMP(s1, s2)
如果字符串相同会传回 0,-1 如果 s1 比 s2 小 (s1 比 s2 早出现)。
1 如果 s1 比 s2 大 (s1 比 s2 晚出现)。
程序代码:
SELECT STRCMP('cat', 'cat');
// 传回 0
SELECT STRCMP('cat', 'dog');
// 传回 -1
SELECT STRCMP('cat', 'ant');
// 传回 1
数字函式
abs(n)
传回 n 的正数
ceiling(n)
n rounded up to the nearest integer
floor(n)
n rounded down to the nearest integer
mod(n,m) 和 div
这两个函式会将 n 除于 m。div 传回商数,mod() 会传回剩余数。
power(n,m)
n to the power of m
rand(n)
传回 0 到 1 的随意数。n 可以不提供,如果提供会用来产生随意数。
相同的 n 会产生相同的随意数。
round(n[,d])
n rounded to the nearest integer. if supply d, n will be rounded to d decimal places.
sqrt(n)
传回 n 的平方
mod() 可以是 mod(9,2) 或 9 mod 2 或 9 % 2。
div 只能用 9 div 2。
程序代码:
SELECT 9 mod 2;
// 传回 1
SELECT 9 div 2;
// 传回 4
日期和时间函式
adddate(date, INTERVAL n type) 和 subdate(date, INTERVAL n type)
这些函式可以用来增加和减少日期。从 date 的日期开始计算,然后增加或减少 INTERVAL 后的日期范围。
你必须提供 n 和他的类型。类型可以是 SECOND, MINUTE, HOUR, DAY, MONTH, YEAR, MINUTE:SECOND (m:s),
HOUR:MINUTE (h:m), DAY_HOUR(d h), YEAR_MONTH (y-m), HOUR_SECOND (h:m:s), DAY_MINUTE (d h:m),
DAY_SECOND (d h:m:s)。
curdate(), curtime(), now()
这些函式会传回目前的日期,目前的时间,还有时间和日期。
date_format(date, format) 和 time_format(time, format)
这些可以用来改变日期和时间的格式。
你必须提供格式的字符串,譬如说 date_format(workdate, '%W %D of %M, %Y'),
这会给你 'Monday 16th of June, 2003)。
全部可用的格式请看 MySQL 的手册。
dayname(date)
传回日期的名称,例如 Monday。
extract(type FROM date)
传回 date 的日期,譬如说 YEAR,他就会传回那个日期的年数。
函式可用的类型跟 adddate() 和 subdate() 的类型相同。
unix_timestamp([date])
传回目前的 Unix 时间。如果跟 date 一起使用,传回的日期会从 date 的日期开始计算。
范例:
程序代码:
SELECT adddate("1999-01-01", INTERVAL "1-6" YEAR_MONTH);
// 传回 2000-07-01
SELECT unix_timestamp(adddate("1999-01-01", INTERVAL "1-6" YEAR_MONTH);
// 传回 962373600
可以用 PHP 的 date() 函式来将 Unix 的时间格式化。
cast 函式
cast 可以用来改变类型,用 cast() 和 convert() 函式。
两个函式相同,但是不同的语法构造。
cast(expression AS type)
convert(expression, type)
cast() 是依照 ANSI 的规格,convert() 是依照 ODBC 的规格。
类型可以是 BINARY, CHAR, DATE, DATETIME, SIGNED (INTEGER), 和 UNSIGNED (INTEGER)。
通常 MySQL 会自动帮你改变类型。
其它函式
benchmark(count, expression)
这个函式是用来测试查询的速度,只会传回 0 值。
encrypt(s[,salt])
将 s 加密用 Unix 的加密系统。salt 字符串是两个字符的字符串,可以不用。
如果没有 crypt 功能,像在 Windows 系统,这个函式会传回 NULL。
found_rows()
传回字段的数量,如果没有用 LIMIT。
只有在 SELECT 里使用 SQL_CALC_FOUND_ROWS 才能用这个函式。
last_insert_id()
传回最后产生的 AUTO_INCREMENT 值。
md5(s)
传回 128bit MD5 的加密字符串。
password(s)
计算 s 的密码,不建议用这个函式来储存密码。
用于 GROUP BY 的函式
这些还是专门为了 GROUP BY 而写的。
avg(column) - 传回字段的平均值
count(column) - 传回字段的数量
min(column) - 传回字段的最小值
max(column) - 传回字段的最大值
std(column) - 传回字段的标准差
sum(column) - 传回字段的总数
mysql修改内置函数,Mysql常见内置函数相关推荐
- mysql 修改表结构提示 MySQL said: Table is read only
以下是我遇到的问题,在我的数据库表里面添加字段的时候提示:MySQL said: Table is read only 百度了一下,找到以下方法,但是行不通: 1.找到mysql 数据库目录,并修改权 ...
- mysql 修改结束符_在MySQL中,用于设置MySQL结束符的关键字是【】
在MySQL中,用于设置MySQL结束符的关键字是[] 答:DELIMITER 截至目前,还没有科学家从事克隆人的实验研究.() 答:× 智慧职教: 在选择压力表的量程时,一般不超过满量程的( ). ...
- python字符串find函数-python常见字符串处理函数与用法汇总
本文实例讲述了python常见字符串处理函数与用法.分享给大家供大家参考,具体如下: 1.find 作用:在一个较长字符串中查找子串.返回子串所在位置的最左端索引,如果没有找到则返回-1.如果指定 b ...
- python字符串函数split_Python常见字符串操作函数小结【split()、join()、strip()】
本文实例讲述了Python常见字符串操作函数.分享给大家供大家参考,具体如下: str.split(' ') 1.按某一个字符分割,如'.' >>> s = ('www.google ...
- php php拼接字符串函数_PHP常见字符串操作函数与用法总结
本文实例讲述了PHP常见字符串操作函数与用法.分享给大家供大家参考,具体如下: 一.字符串的格式化 1.字符串的格式化 trim()函数可以去除字符串的开始位置和结束位置的空格,并将结果字符串返回,默 ...
- 函数对称性常见公式_excel函数对称性常见公式 16种常见的COUNTIF函数公式设置
excel函数对称性常见公式 16种常见的COUNTIF函数公式设置,前天刚学习了一个excel的新技术,叫"excel函数对称性常见公式"授课老师对我们说,这一技术的专业全称为& ...
- mysql常用内置函数_mysql常见内置函数
在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...
- jsp mysql修改密码_Servlet+JSP+MySQL实现用户管理模块之七、实现用户信息更新和重置密码...
实现用户信息更新和重置密码功能 如果用户信息很多的时候,感觉这项实现起来比较麻烦的.因为要考虑用户哪些信息需要更新哪些不需要更新,就必须先更原来的信息比对.呵呵,当然如果考虑到多个数据库表间的操作的话 ...
- linux mysql 修改字符集_linux下mysql修改字符集,远程连接
安装时候很简单,但是安装了后一般不能用 安装后 首先执行 mysql -u root mysql 这是就会进入mysql命令窗口,这样是可以使用的,但是我们要先设置密码 1.先设置密码 UPDATE ...
- mysql修改EST时区,mysql时间修改
方法有两种 ###第一种 select NOW(); ##一:通过sql命令临时修改 set global time_zone = '+8:00'; set time_zone = '+8:00'; ...
最新文章
- php如何批量导入题库,批量文本导入试题
- python语言由ps f组织所有_python面试题100.docx
- 完全命令行.NET开发
- 10.5 Throwable类
- PCL中PFH、FPFH理论
- window应用移植到Linux下(应用移植)
- @Conditional进行条件判断等
- php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用
- 阿里巴巴HRSSC:用宜搭实现业务管理模式创新
- ORA-02291: 违反完整约束条件 …… - 未找到父项关键字
- 对警报线程池的警报线程_使用警报控制器的iOS操作表
- python多线程队列两组数据_python 多线程2-队列同步
- 量子链创始人:监管者应看到区块链科技的大局
- Savage(扩展欧几里得)
- php5.0 cms安装教程,小浣熊CMS5.0漫画系统安装教程和采集教程
- 学习马士兵Java教程
- 论文笔记(1) B4: Experience with a Globally-Deployed Software Defined WAN
- 拉链表断链、交叉链判断及处理方式
- Xcode命令行简单了解一下
- Casbin-authz-plugin:基于Casbin的Docker权限管理、访问控制插件
热门文章
- python的基础 杂项(十四)
- 记忆与思考再到使用需要时间吗?
- 重复文件查找_Duplicate File Remover PRO for mac(Mac文件重复查找软件)
- 接二手java项目需要什么资料_师妹问双非本科如何进BAT,我告诉她Java后端路线...
- linux 编译环境包,linux上war包编译环境搭建
- mysql事务的管理方式_浅谈MySQL事务管理(基础)
- atlas mysql 安装_atlas中间件安装配置
- python实现给定信号生成任意信噪比的带噪声信号
- OpenShift 4 之获取全部CRD用户资源定义对象
- (二)混合边缘AI人脸检测