欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql 常用命令之函数

程序员文章站 2022-05-21 20:08:05
...

函数如下: left,right 字符串截取 from_unixtime 式化unix时间戳 concat 字符串连接函数 max 取某列最大 min 取某列最小 sum 计算某列的和 count 统计条数 md5 返回md5加密码的串 format 式化数字为xx,xxx,xxx.xxxx式 比如1,1000.123 length 计算某个字符串

函数如下:

left,right 字符串截取
from_unixtime 格式化unix时间戳
concat 字符串连接函数
max 取某列最大值
min  取某列最小值
sum  计算某列的和
count 统计条数
md5  返回md5加密码的串
format  格式化数字为xx,xxx,xxx.xxxx格式 比如1,1000.123
length 计算某个字符串长度
distinct 去重复
replace 替换字符串
in  指定查询某个值的记录
like 模糊查询
is null 查询某个条件为空(null),注:null不等于""
is not null 查询某个条件不为为空(null)
MATCH ... AGAINST ... mysql的全文索引查询

mysql left,right函数
left和right是一对截取字符串前几位可后几位的函数,left是从左向右开始计算,right相反是从右向左计算
例:
select left(name,10) as name from user; 显示用户名的前10位
select right(name,10) as name from user; 显示用户名的后10位
select * from user where left(datetime,10)="2011-12-02" 取出2011-12-02日注册的用户
select * from user where left(datetime,7)="2011-12" 取出2011-12月注册的用户
left,right不仅仅可以用于截取字符串,还可以用在where条件上。特别是用在查询条件上他的作用非常大。

mysql from_unixtime函数
from_unixtime函数用来对unix时间戳进行格式化,格式化成我们易读的日期时间格式。
例:
select from_unixtime(time, "%Y-%m-%d %H:%i:%s" ) as datetime from table; 把time字段格式化成易读的日期时间显示(time为unix时间戳)
select * from table where left(from_unixtime(time, "%Y-%m-%d" ))='2011-12-02' 取出2011-12-02日的记录

mysql concat 函数
concat函数 可以用来把某二个字符连接在一起查询或显示,也可以把字段和字符串进行连接。
例:
select concat(year,"-",month,"-",day) as datetime from table; 把表中year,month,day字段连接起来显示
select concat("My name is:",name) as name from table; 把字符串和字段连接起来显示
update software set icon=concat("http://iteye.com",icon); 把数据库中icon批量更新并在原有的icon前增加域名 iteye.com

mysql max,min函数
顾名思义max函数用于查询某个字段中的最大值
例:
select max(age) from user; 返回最大的年龄
select min(age) from user; 返回最小的年龄

mysql sum函数
sum函数 可对某个字符(int型)进行求和
例:
select sum(money) from user 计算出所有人的金钱总数
select sum(money),area from user group by area 计算出各地区人员的金钱总数


mysql count函数
统计聚合函数,可对sql查询的结果进行统计
例:
select count(*) as total from user 计算出总会员 iteye.com

mysql md5函数
同php中的md5一样,对某个字符串进行加密
例:
select md5(password) as password from user 把明码的密码进行md5加密显示
insert into user(name,password) values("abc",md5("abc")); 写入user表把密码进行md5加密后存储

mysql format函数
用于格式化数字为xx,xxx.xxx格式的数字
例:
select format(downloads) as download from software; 把下载量格式化为xx,xxx格式如:12,000
select format(money,2) as money from user; 把用户金钱格式化为xx,xxx.xx格式,参数2为精确的小数点位数如:12,000.05


mysql length函数
计算某个字段值的长度
例:
select length(name) as length from user; 显示出用户名的长度
select * from table where length(aa) > 10 ; 查询某字段长度大于10的记录 php程序员站

mysql distinct函数
对某个字段去重复,(在某些时候group by也可以做到)
例:
select distinct(area) from user; 对地区进行去重复
select area,count(*) from user group by area; 对地区进行聚合并统计出数量

mysql replace函数
查找某个字符串并进行替换
例:
select replace(icon,"www.iteye.com","img.iteye.com") from software; 把icon中的www.iteye.com替换成替换成img.iteye.com显示
update software set icon=replace(icon,"www.iteye.com","img.iteye.com") ; 把数据库中icon的域名批量进行查找替换 www.iteye.com

mysql in函数
可批量指定几个值作为查询条件
例:
select * from user where user_id in(1,2,3,4,5,100,200,333)
select * from user where user_name in("a","b","d")

mysql like函数
可对某个字段进行模糊查询,"%"号用于匹配任意字符
例:
select * from user where name like "%王%"; 查询所有用户名中带"王"字符的用户
select * from user where name like "%王"; 查询所有用户名第一个字符为"王"字的用户

mysql is null函数
匹配某个字符为null值的记录,注:null不代表空符串""
例:
select * from user where a is null ; 查询a字段为null的用户
select a.* from user as a left join add_user as b on a.user_id=b.user_id where b.user_id is null; 连表查询附加表add_user中没有附加用户信息数据的用户


mysql is not null函数
和is null用法一样,匹配某个字符不为空的记录

mysql MATCH ... AGAINST 全文匹配函数
mysql的全文匹配函数,要使用此函数查询的字符必须增加了全文索引,另外mysql不支持中文全文索引,所以国人在开发中估计很少用到此函数。
match中包含要进行全文匹配的字段,多个字段用","号分割 against为匹配的字符串
例:
select * from software where match(title,body) against("php"); 全文匹配title和body字段中包含"php"的记录
select * from software where match(title) against("php mysql"); 全文匹配title字段中包含"php mysql"的记录。


文章来自:http://chenhaibo0806999.iteye.com/blog/1447824


好像我没有找到将String 强制转换成int 的,如果需要这样的操作,那就只能用:该字段+0 ,如此便可OK了。