mysql面试题
获得最近三天数据
SELECT * FROM `shop` where time > DATE_SUB(now(),INTERVAL 3 DAY)
SQL DATE_SUB 是一个mySql函数。不象SQL DATE_ADD 函数 增加时间值,SQL DATE_SUB 将从一个日期/时间值中减去一个时间值(时间间隔)。
SQL DATE_SUB 语法
DATE_SUB(日期表达式, INTERVAL expr type)
对于type,请参考 SQL ADDDATE() 函数。
SQL DATE_SUB 范例
SELECT DATE_SUB('2010-08-12', INTERVAL 3 DAY) AS NewDate
结果: 2010-08-09
2.SELECT DATE_SUB('2010-08-12', INTERVAL '3-2' YEAR_MONTH) AS NewDate
结果: 2007-06-12
3.SELECT DATE_SUB('2011-09-14 2:44:36', INTERVAL '2:26' HOUR_MINUTE) AS NewDate
结果: 2011-09-14 00:18:36
假设我们有如下的 "Orders" 表:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Jarlsberg Cheese | 2008-11-11 13:23:44.657 |
现在,我们想要向 "OrderDate" 减去 5 天。
我们使用下面的 SELECT 语句:
FROM Orders
结果:
OrderId | SubtractDate |
---|---|
1 | 2008-11-06 13:23:44.657 |
date_sub()函数的例子:curdate()获得当前的日期
今天是2013年5月20日。
date_sub('2012-05-25',interval 0 day) 表示 2012-05-25
date_sub('2012-05-25',interval -1 day) 表示 2012-05-26
date_sub('2012-05-31',interval -1 day) 表示 2012-06-01
date_sub(curdate(),interval 1 day) 表示 2013-05-19
date_sub(curdate(),interval -1 day) 表示 2013-05-21
date_sub(curdate(),interval 1 month) 表示 2013-04-20
date_sub(curdate(),interval -1 month) 表示 2013-06-20
date_sub(curdate(),interval 1 year) 表示 2012-05-20
date_sub(curdate(),interval -1 year) 表示 2014-05-20
MySQL查询未来31天的日期
SELECT DATE_SUB("2017-06-19", INTERVAL -31 DAY);
Ps:INTERVAL -31 DAY 表示未来31天
INTERVAL 31 DAY 表示过去的31天
请以空格作为间隔,拆分字符串’Apple Orange BananaStrawberry’,组成数组$fruit,
* 数组中所有元素都用小写字母,并按照字母先后次序排序
class sort {
private $str;
public function__construct($str) {
$this->str=strtolower($str);
}
private functionexplodes() {
if(empty($this->str)) returnarray();
$arr=explode("",$this->str);
return is_array($arr)?$arr:array($arr);
}
public functionsort() {
$explode=$this->explodes();
sort($explode);
return $explode;
}
}
$str='Apple Orange Banana Strawberry';
$sortob=new sort($str);
var_dump($sortob->sort());
你所知道的php数组相关的函数?
array()----创建数组
array_combine()----通过合并两个数组来创建一个新数组
range()----创建并返回一个包含指定范围的元素的数组
compact()----建立一个数组
array_chunk()----将一个数组分割成多个
array_merge()----把两个或多个数组合并成一个数组
array_slice()----在数组中根据条件取出一段值
array_diff()----返回两个数组的差集数组
array_intersect()----计算数组的交集
array_search()----在数组中搜索给定的值
array_splice()----移除数组的一部分且替代它
array_key_exists()----判断某个数组中是否存在指定的key
shuffle()----把数组中的元素按随机顺序重新排列
array_flip()----交换数组中的键和值
array_reverse()----将原数组中的元素顺序翻转,创建新的数组并返回
array_unique()----移除数组中重复的值