mysql和sql時間 欄位比較大小的問題

來源:互聯網
上載者:User

不能用兩個字串比較的小的方法來做。例如:‘2010-10-20’ > ‘2010-12-15’

正解:都是  ,   後面的時間- 前面的時間

mysql

select count(*) from table where  timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00') > 0


 

server sql

select count(*) from table where DATEDIFF
([second], '2004-09-18 00:00:18', '2004-09-18 00:00:19') 
> 0




 


1.          


因此必須用
sql
的時間函數和字串轉化進行比較。

對於
mysql

(1)      


如果資料庫表中的欄位是日期

格式的

select name,cdate 
from user where  
 
DATEDIFF('2010-1-10' , sysdate()) > 0

也可以用(這裡會自動的將字串轉化成日期格式然後想減,返回天數,前減後

,小於
0
說明前面的日期小):

select name,cdate 
from user where  
DATEDIFF('2010-1-10' ,'2010-1-11') ;

可以不用日期和字串函數的轉化就可以了。

msql
的轉換函式:
CAST('2010-10-10' AS DATE)

BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED


樣本:


SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);

mysql

返回兩個時間的秒的格式為
:

select

DATEDIFF('2010-1-10' ,'2010-1-11');

select unix_timestamp('2008-1-1 11:20:50') - unix_timestamp('2008-1-1 12:10:20');

select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00');

select timestampdiff(second,'2008-08-01','2008-08-08'); 

(2)      


如果資料庫表中的欄位是字元
格式的

如果上面的可以自動的轉換的話我們就沒有必要談

是字元格式設定的問題了。

對於
SQL

server sql
相對來說就比較寬泛一些了可以得到相差的時間精確到秒了。
(
無所謂字元
還是時間格式了

)

SELECT DATEDIFF([year], GETDATE(), '2004-09-18')  

傳回值:
-6
,說明是後減前




mysql
相反的。

select datediff(day,getdate(),'2004-09-18')

SELECT DATEDIFF([hour], '2004-09-01', '2004-09-18')

SELECT DATEDIFF([second], '2004-09-18 00:00:18', '2004-09-18 00:00:19') 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.