算数运算子
+, -, *, /
除于 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) - 传回字段的总数

转载于:https://www.cnblogs.com/tuyile006/archive/2008/08/21/1273340.html

mysql常用函数 [转]相关推荐

  1. ipad php mysql_PHP中的MYSQL常用函数

    PHP中的MYSQL常用函数 1.mysql_connect()-建立数据库连接 格式: resource mysql_connect([string hostname [:port] [:/path ...

  2. Mysql 常用函数(19)- mod 函数

    Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html mod 的作用 求余数,和%一样 mod的语法格式 mod(n,m ...

  3. 建立学生选课表 mysql 语句_学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)...

    学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...

  4. mysql常用函数参考

    mysql常用函数参考 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回 ...

  5. mysql ceil,MySQL常用函数介绍

    前言: MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等.SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数 ...

  6. mysql常用函数整理

    mysql常用函数: 1⃣️concat(str1,str2,str3-) 同一条记录中多个字段进行连接 2⃣️group_concat(字段名) 一对多关联查询时,如果返回一条记录对应另外一张表多条 ...

  7. mysql 常用函数

    欢迎z1988316我的:空间博客网摘资源设置|帮助|退出 CSDN首页 资讯 论坛 博客 下载 搜索 更多CTO俱乐部 学生大本营 培训充电 移动开发 软件研发 云计算 程序员 TUP the bl ...

  8. Mysql 常用函数(40)- time_to_sec 函数

    Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html time_to_sec 的作用 将指定时间转换为秒 time_to ...

  9. oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]

    oracle.sqlserver.mysql常用函数对比[to_char.to_number.to_date] oracle   -->    mysql to_char(sysdate,'yy ...

  10. Mysql常用函数(一)

    Mysql常用函数(一) 字段拼接(concat) CONCAT() 函数用于将多个字符串连接成一个字符串 格式: select CONCAT(str1,str2,-) from table_name ...

最新文章

  1. Docker核心技术之Docker Compose
  2. Quartz Java resuming a job excecutes it many times--转
  3. React demo:express、react-redux、react-router、react-roter-redux、redux-thunk(一)
  4. akb48_AKB48里历史——六年的终结
  5. linux getdents 例子,Linux内建命令和外部命令(整理)
  6. 百度地图标点点击变色_原神wiki地图工具,原神全地图资源标记全览
  7. springboot和springframework以及jdk版本的对应关系
  8. 当当(Elastic-job)分布式定时任务
  9. c语言初学者程序,C语言初学者必懂的100个范例程序
  10. 安卓手游辅助分析与开发!五步搞定Android开发环境部署,深度好文
  11. excel 列过多,打印每一页都会带上固定几列设置
  12. html 苹果 地图,为什么苹果手机自带的地图是高德而不是谷歌?
  13. 怎样才算是一个好的测试用例
  14. 免费制作证件照,这3个在线网站千万别错过
  15. AcWing 217 绿豆蛙的归宿(概率与期望)
  16. C++工程编译链接错误汇总VisualStudio
  17. 06_Request对象封装请求信息(获取请求信息,和把前端请求转发到当前服务器其他资源)
  18. 路由器和猫,集线器,交换机的区别
  19. 达梦:[-2420]:服务器未重启
  20. VB.net GDI+ 内存不足,一般性错误,对象错误等解决方案和优化代码。

热门文章

  1. 【H2 Database】安装
  2. 手动抽油机_察雅县抽油机钢丝绳橡胶皮带生产厂家
  3. Java注解配置rest服务_Spring Boot 注解—常用注解
  4. hue 添加jar_在hue下配置jdbc驱动
  5. python自动生成分析报告_利用PYTHON全自动生成分析报告
  6. python编程语言一览_编程语言学习:python有趣用法汇总
  7. 豆瓣读书评分 8.7 以上! 这 40 本 Python 畅销书包邮送
  8. 一张表看尽CV和NLP的经典+前沿论文,还教你阅读顶会论文,构建深度学习知识框架...
  9. 李宏毅机器学习完整笔记发布,AI界「最热视频博主」中文课程笔记全开源
  10. 这些超实用的电脑快捷键,你都get到了吗?