1
zwzmzd 2015-06-09 21:55:04 +08:00
|
2
gamexg 2015-06-09 22:02:23 +08:00 via Android
Date索引用不上吧?
变成全表扫描了 |
3
xuyl 2015-06-09 22:08:05 +08:00
跨年也好办啊,转化为unix时间戳再比较呗。
|
6
hiboshi 2015-06-09 22:25:43 +08:00
format db 的 生日字段
BETWEEN 或者 大于当前时间 并且 小于 当前时间+30天 |
7
Paranoid 2015-06-09 22:28:18 +08:00
为啥用sql写?
用程序计算出 过生日的日期,再查询。 |
8
vinsony OP 实际上是这样,比如今天是2015-12-25,那么要取的用户生日就是
2015-12-25至2016-01-03 2014-12-25至2015-01-03 2013-12-25至2014-01-03 ...... |
10
marvinwilliam 2015-06-09 22:40:06 +08:00
在条件里面使用to_date函数转换成月日的时间然后再和指定的月日比较?怎么感觉这个好不效率的说。。。
|
12
frankyzf 2015-06-09 22:57:34 +08:00
生成10天的月日列表如1215 1216 1217... 0103,用生日的月日in列表可以吗?
|
13
frittle 2015-06-09 23:00:14 +08:00
参考stackoverflow上的解答: http://stackoverflow.com/questions/18747853/mysql-select-upcoming-birthdays
|
14
levon 2015-06-09 23:56:01 +08:00
把生日的年改成今年,比如出生日期是“1990-10-10”,那生日就是“2015-10-10",算2015-10-10是不是最近10天就可以了。
|
15
levon 2015-06-09 23:59:10 +08:00
补充一下,如果算出的今年生日是今年过掉的日子,那下一个生日的年就应该今年+1
|
16
zoowii 2015-06-10 00:06:30 +08:00
增加一个字段记录月日好了,这样直接=比较了
|
17
free9fw 2015-06-10 09:46:10 +08:00
写个方法嘛
|
18
iyangyuan 2015-06-10 11:20:23 +08:00 via iPhone
只能加冗余字段了,加一个月日字段。
否则不走索引,效率太低。 |
19
phx13ye 2015-06-10 13:39:51 +08:00
DAYOFYEAR() betweein
|
20
jjplay 2015-06-10 14:18:08 +08:00
http://segmentfault.com/q/1010000002869960
Carbon 可能是 PHP 中时间处理最好的轮子了 |