首页 > 数据库 > mysql中的日期类型
您的足迹
  • 你没有浏览过任何文章或者你没有开启cookies。

mysql中的日期类型

1.某表中的日期的类型是20101010120012,假如我们要转换成2010-10-10 12:00:12 这样的格式怎么办呢?

例如,我们想选出15天前的记录,SQL语句如下:

SELECT count(*) from
file_upload WHERE
DATE_FORMAT(pubdate,'%Y-%m-%d %H:%i:%S') <= CURDATE()-INTERVAL 15 DAY

其中file_upload是表名,pubdate是日期字段,这里用了DATE_FORMAT函数。

主要参考:http://www.w3school.com.cn/sql/func_date_format.asp

2.删除三个月前数据记录:

DELETE from orktape
WHERE `TIMESTAMP` <= CURDATE()-INTERVAL 92 day
此例中的日期是格式是:YYYY-MM-DD HH:MM:SS,这里可以直接用CURDATA()函数。

参考:http://devbbs.doit.com.cn/viewthread.php?tid=17975

3.最后附上两年到数据库中查找记录,并复制实际文件到指定位置的脚本.

a).

#!/bin/bash
for i in `cat /root/aa`
do
 echo $i
 mkdir /tmp/$i
 mysql -ppassord -e"use oreka;select * from orktape where localParty=${i} and timestamp >= '2010-09-13 0:00:01' and timestamp <= '2010-09-14 23:59:59' \
 union select * from orktape where remoteParty=${i} and timestamp >= '2010-09-13 0:00:01' and timestamp <= '2010-09-14 23:59:59' \G;"\
 |  grep -B 6 "filename" > /tmp/$i/08

done

b).

#!/bin/bash
for j in `cat /root/aa`
do
  echo $j
  cat /tmp/$j/08 |grep "filename" |cut -f 5 -d '/' > /tmp/$j/09
 for k in `cat /tmp/$j/09`
 do
   find /etc/orkaudio/data/2010/09 -name $k| xargs -I {} cp {} /tmp/$j
 done

done

脚本水平比较菜,望大家指教。

  1. 还没有评论
评论提交中, 请稍候...

留言

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks
Feed