2013-07-23 119 views
0

我在兩個不同的DB(一個本地和一個遠程)中有兩個相同的表。他們都有一個Datetime(或Datetime2或其他任何東西,我仍然可以改變這一點)列指定何時被添加。我想要的是從遠程表獲取記錄到本地表尚未帶來的記錄。選擇在另一個日期上大於另一日期的日期

對於這個從本地表獲得最大值,然後我試圖把條件WHERE remoteTable.CreateTime > maxLocalValue,但我不知道爲什麼這似乎覆蓋了邊界上的一些記錄。任何更好的方式來做到這一點?在第二或分鐘的水平?

+0

你怎麼知道他們*在邊界*?什麼是ypur精度? –

+0

這兩個系統是否在同一時區? –

+0

也許嘗試將日期轉換爲「1950年以後的秒數」,並以這種方式比較它們。 – dseibert

回答

0

因爲我們知道哪些值已經添加到本地表中,只添加遠程表中不在本地表中的值。讓local_table repersents本地表和remote_table repersents遠程表,並且rcd_1是兩個表中的一個列,用於reperse the DATE類型。

INSERT INTO local_table (col_1,.....(how evermany columns you need), rcd_1) 
SELECT rcd_1 FROM remote_table 
where remote_table.rcd_1 <> local_table.rcd_1; 

你解釋你的問題建議,只有較新的日期添加到本地遠程所以只要此舉行真正的你應該得到想要的結果的方式。

相關問題