最好的方法是查询结果返回到应用程序中处理。一定要用 SQL 解决的话,关键问题的日期操作。下边是一个可行的方法(SQL Server):SELECT DatePart(t1.recivetime, d) AS thisMonth, t1.KwPower - t2.KwPower AS KwPower
FROM tab1 t1, tab2 t2
WHERE DatePart(DateAdd(t1.recivetime, 1, d), yyyy) = DatePart(t2.recivetime, yyyy)
AND DatePart(DateAdd(t1.recivetime, 1, d), m) = DatePart(t2.recivetime, m)
AND DatePart(DateAdd(t1.recivetime, 1, d), d) = DatePart(t2.recivetime, d)
AND ...加上你的其他条件...没有数据,不便测试,大概差不厘儿。
FROM tab1 t1, tab2 t2
WHERE DatePart(DateAdd(t1.recivetime, 1, d), yyyy) = DatePart(t2.recivetime, yyyy)
AND DatePart(DateAdd(t1.recivetime, 1, d), m) = DatePart(t2.recivetime, m)
AND DatePart(DateAdd(t1.recivetime, 1, d), d) = DatePart(t2.recivetime, d)
AND ...加上你的其他条件...没有数据,不便测试,大概差不厘儿。
解决方案 »
- 存储过程中运行sql语句出错,如果让存储过程继续运行?
- show variables like 'key_buffer_size'中得到的值 的单位是什么?
- 用c写mysql接口函数
- 請教Postgresql使用check檢查唯一性,請大家幫幫忙
- 局域网内 MS SQL SERVER的连接问题~ 请大伙帮忙~~急,在线等~
- mysql一次可导入多少数据?
- 数据库菜鸟查询问题
- MySQL如何指定磁盘储存位置?高手入
- 各位大侠,请问最新版的MySQL的版本号是多少的?哪里有下载,支持不支持事务处理以及子查询?
- cpanel操作 ,架设论坛给数据库用户名什么权限比较合适?
- 我的数据表都是以这三种格式存在的:xxx.ISD,xxx.frm,xxx.ISM,如何恢复这种数据库?
- 我从没接触过数据库,今天问一个很菜的问题,大家不要笑话我,就是怎样用MYSQL建立.sql数据库?
//create table tt (d datetime,power float)
/* insert into tt values
('2005-07-01 00:03:32',140.50),
('2005-07-02 00:01:01',200.00),
('2005-07-03 00:11:30',294.00),
('2005-07-04 00:01:00',381.50),
('2005-07-05 00:02:10',438.50),
('2005-07-06 00:09:04',622.00);
*/select dayofmonth(a.d), b.power - a.power as KwPower
from tt a, tt b
where dayofmonth(a.d) = dayofmonth(b.d)-1
+------------------------------------+
| left('2005-08-20 12:45:40.011',10) |
+------------------------------------+
| 2005-08-20 |
+------------------------------------+
1 row in set (0.24 sec)mysql> select from_days(to_days('2005-08-20 12:45:40.011'));
+-----------------------------------------------+
| from_days(to_days('2005-08-20 12:45:40.011')) |
+-----------------------------------------------+
| 2005-08-20 |
+-----------------------------------------------+
1 row in set (0.06 sec)mysql> select date_format('2005-08-20 12:45:40.011','%Y-%m-%d');
+---------------------------------------------------+
| date_format('2005-08-20 12:45:40.011','%Y-%m-%d') |
+---------------------------------------------------+
| 2005-08-20 |
+---------------------------------------------------+
1 row in set (0.07 sec)