2012-10-16 39 views
7

Tôi có cơ sở dữ liệu nơi tôi tiết kiệm thời gian là time() từ php, tức là giây kể từ 1 jan 1970.Chuyển đổi ví dụ: 2012-05-25 đến giây kể từ ngày 1 tháng 1 năm 1970

Tôi có thể chuyển đổi bất kỳ cách nào, ví dụ: 2012-12-12 thành giây từ 1 jan 1970?

tôi muốn làm như:

SELECT * 
FROM Table 
WHERE date > '2012-11-30' AND date < '2012-12-30' 

Đây có phải là thậm chí có thể?

(Tôi muốn làm điều đó mà không cần bất kỳ ngày php())

+0

https://www.google.com/search?q=sql+server+date+to+unix+timestamp&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox -a –

Trả lời

15

DATEDIFF sẽ là bạn của bạn ở đây:

select datediff(s, '1970-01-01', '2012-12-12') as SecondsSinceEpoch 

Lưu ý rằng vì datediff trả về một int, datetime tối đa bạn có thể so sánh (sử dụng giây) với ngày 1 tháng 1 năm 1970 là 2038-01-19 03:14:07.

+1

Cảm ơn! Đây chỉ là đáng yêu =) – netigger

+1

Tuyệt vời, cảm ơn bạn vì điều này! – vikingsteve

Các vấn đề liên quan