select sum(studychj) as tofflinejz from afterline where checkflag=1 and studytype=1 and studybegin>='2010-01-01 00:00:00' and studyend<='2010-12-01 00:00:00' and username='01009'
這麼寫不報錯,但得出結果不準確
方法一:
你也可以:
select * from t1 where unix_timestamp(time1) > unix_timestamp('2011-03-03 17:39:05') and unix_timestamp(time1) < unix_
timestamp('2011-03-03 17:39:52');
就是用unix_timestamp函式,將字元型的時間,轉成unix時間戳。個人覺得這樣比較更踏實點兒。
方法二:
time1 between '2011-03-03 17:39:05' and '2011-03-03 17:39:52';
方法三:
可以講datetime型別轉換成date型別再進行比較
例如:convert(date,表名.datetime列名) >= convert(date,表名.datetime列名)
三種方法待求證,總之是不要用字串這麼直接比
select sum(studychj) as tofflinejz from afterline where checkflag=1 and studytype=1 and studybegin>='2010-01-01 00:00:00' and studyend<='2010-12-01 00:00:00' and username='01009'
這麼寫不報錯,但得出結果不準確
方法一:
你也可以:
select * from t1 where unix_timestamp(time1) > unix_timestamp('2011-03-03 17:39:05') and unix_timestamp(time1) < unix_
timestamp('2011-03-03 17:39:52');
就是用unix_timestamp函式,將字元型的時間,轉成unix時間戳。個人覺得這樣比較更踏實點兒。
方法二:
time1 between '2011-03-03 17:39:05' and '2011-03-03 17:39:52';
方法三:
可以講datetime型別轉換成date型別再進行比較
例如:convert(date,表名.datetime列名) >= convert(date,表名.datetime列名)
三種方法待求證,總之是不要用字串這麼直接比
Mysql中datetime預設值問題
在使用mysql時當建表語句中有以下語句時 create time datetime not null default 0000 00 00 00 00 00 則會出現以下的異常 invalid default value for create time 這是由於 sql mode 的問題沒設定好,...
mysql中的datetime型別的比較
例如有乙個user表如下 create table user id int 11 primary key,name varchar 50 not null,age int 3 not null,create time datetime not null 一 date 如需要查詢近乙個月新增的使用者 ...
mysql中datetime比較大小問題
select sum studychj as tofflinejz from afterline where checkflag 1 and studytype 1 and studybegin 2010 01 01 00 00 00 and studyend 2010 12 01 00 00 00...