7


mysql と MS SQL Server MySQLのタイムスタンプに違いがあるのはなぜですか:

select now() result: 2013-07-16 08:49:26.0

SQLサーバー:

select getdate() result: 2013-07-16 08:48:16.47

unix_timestamp
MySQLを取得しようとすると:

SELECT UNIX_TIMESTAMP('2013-07-01') result: 1372629600

SQLサーバー:

SELECT DATEDIFF(SECOND,'1970-01-01', '2013-07-01') result 1372636800

問題: 7200 秒 (2 時間) の差があります。これはタイム ゾーンの問題ですか。両方のサーバーのサーバー時間は と で見られるものと
同じですか?now()getdate()

4

4 に答える 4

5

これはかなり長い解決策ですが、うまくいくようです。タイムゾーンのオフセットが考慮されます。

SELECT DATEDIFF(SECOND, DATEADD(SECOND, DATEDIFF(SECOND, GETUTCDATE(), GETDATE()), '1970-01-01'), '2013-07-01')
于 2015-07-29T13:07:19.223 に答える
3

Mysqlのタイムスタンプを理解するには、このリンクを試すことができます

http://www.mysqltutorial.org/mysql-timestamp.aspx

tsql タイムスタンプについては、これらのリンクを確認できます

http://www.informit.com/library/content.aspx?b=STY_Sql_Server_7&seqNum=97

http://technet.microsoft.com/en-us/library/ms188751(v=sql.110).aspx

于 2015-01-11T13:02:24.180 に答える
2

回答が遅くなり申し訳ありませんが、これは現在の日付でのみ機能します。過去の日付を分析する必要があり、たとえば異なるタイム ゾーン (夏時間/冬時間) がある場合、これは適切に機能しません。

于 2016-07-06T09:27:44.473 に答える