mysql 年龄计算(根据生日字段)

mysql 年龄计算(根据生日字段)

year( from_days( datediff( now( ), birthdate))) //获取年龄

now() 当前时间,精确到秒
datediff(begindate,enddate):返回两日期之间相关的日数.
from_days(days):从0000-00-00开始,根据传入的日数,返回一个日期;
year(date):获取日期上的年

[条件查找年龄在18到30]
$map .= " AND year(from_days(datediff(now( ),MbBirthDay))) >=18  AND year(from_days(datediff(now( ),MbBirthDay))) <30 ";
YEAR(CURDATE())-YEAR(birthday)-(RIGHT(CURDATE(),5)<RIGHT(birthday,5)
SELECT NOW(),CURDATE(),CURTIME()
NOW() // 2012-10-12 16:25:43     CURDATE() //2012-10-12    CURTIME//16:12:45

right(CURDATE(),5)截取右边5个字段
				
时间: 2024-12-07 07:45:10

mysql 年龄计算(根据生日字段)的相关文章

mysql 年龄计算(根据生日)

生日(DATE) 计算方法1: YEAR(CURDATE())-YEAR(birthday)-(RIGHT(CURDATE(),5)<RIGHT(birthday,5)) 计算方法2: year( from_days( datediff( now( ), birthdate))) now() 当前时间,精确到秒 datediff(begindate,enddate):返回两日期之间相关的日数. from_days(days):从0000-00-00开始,根据传入的日数,返回一个日期; year(

MYSQL计算两个字段日期差

一,TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2). 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.该参数必须是以下值的其中一个: FRAC_SECOND.表示间隔是毫秒 SECOND.秒 MINUTE.分钟 HOUR.小时 DAY.天 WEEK.星期 MONTH.月 QUARTER.季度 Y

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

MySQL中int类型的字段使用like查询方法

方法参考自: http://stackoverflow.com/questions/8422455/performing-a-like-comparison-on-an-int-field 也就是使用CAST转换指定字段,然后进行比较.具体样例代码如下: SELECT ProductID, ProductName FROM Products WHERE CAST(ProductID as CHAR) LIKE '%15%' 但是这样做的话,MySQL不能使用对应int字段索引,而且like本身就

mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句

文章转载地址 http://blog.sina.com.cn/s/blog_7bbfd5fd01017d1e.html 感谢作者. 在原文的基础上,我新增了sql语句,方便大家理解 mysql距离计算,单位m,以及排序 lon 经度 lat 纬度 一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180) 首先新建一张表,里面包含经纬度 SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Tab

mysql向表中某字段后追加一段字符串:

mysql向表中某字段后追加一段字符串:update table_name set field=CONCAT(field,'',str) mysql 向表中某字段前加字符串update table_name set field=CONCAT('str',field) MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果

PHP年龄计算 取得两个时间戳相差的年龄年月日显示

因需要显示对象的年龄,在网上找了几个看着不是太理想,自己写了一个,取得两个时间戳相差年龄的函数,显示结果为x岁x月x天,年月为零时,不显示年月,原理为:年月日相减,数不够的,按年和月的进位借数,最终得到年月日的时间值. <?PHP /*  * ==============================  * 此方法由 mantye 提供    * http://my.oschina.net/u/223350   * @date 2014-07-22  * ===================

Mysql 数据分组取某字段值所有最大的记录行

需求: 表中同一个uid(用户)拥有多条游戏等级记录,现需要取所有用户最高等级(level)的那一条数据,且时间(time)越早排越前.这是典型的排名表 +------+-------+--------------+---------------------+ | uid | level | role | time | +------+-------+--------------+---------------------+ | 7 | 1 | 摇滚圣魔 | 2014-06-12 15:01:0

如何使用MySQL一个表中的字段更新另一个表中字段

这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下 1,修改1列 ? 1 2 3 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 ? 1 2 3 update a, b set a.title=b.title, a.name=b.name where a.id=b.id ?子查询 ? 1 update student s set ci