我正在創建從PostgreSQL獲取數據並插入到MS SQL數據庫中。因此,PostgreSQL中的字段的數據類型爲Timestamp without time zone
,這需要進入MS SQL DB中DataTime
類型的字段。我使用的腳本functoid在地圖上,將它們轉換和insert.Below是我使用映射中的問題
public string ConvertSampDateRec(string dateReceived)
{
DateTime recDate;
DateTime.TryParseExact("yyyy-MM-dd HH:mm:ssZ", dateReceived, System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out recDate);
string returnRec = recDate.ToString("yyyy-MM-ddTHH:mm:ss");
return returnRec;
}
腳本,我不知道,如果格式是yyyy-MM-dd HH:mm:ssZ
爲無時區的時間戳。有了這個,我即使不null.I試圖即使使用DateTimeOffset
但仍然沒有幫助得到錯誤像下面
Details:"System.Data.SqlTypes.SqlTypeException: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
它使得returnRec
爲0001-01-01T00:00:00
所有dateReceived
你可以給我們一個想法,在空值和非空值轉換之前dateReceived字符串是什麼? –
@PieterVandenheede dateReceived字符串持有類似於8/6/2013 1:19:57 PM我改變了我的格式說明符if(System.DateTime.TryParseExact(dateReceived,「M/d/yyyy h:mm:ss tt」,System .Globalization.CultureInfo.CurrentCulture,System.Globalization.DateTimeStyles.None,out recDate))''但'returnRec'爲'0001-01-01T00:00:00' – xyz
您的格式以空字符串開頭。 (DateTime.TryParseExact(dateReceived,「M/d/yyyy h:mm:ss tt」,System.Globalization.CultureInfo .InvariantCulture,System.Globalization .DateTimeStyles.None,out recDate)) return recDate.ToString(「yyyy-MM-ddTHH:mm:ss」); –