iT邦幫忙

0

使用ibatis時,用getDate()函數於MSSQL儲存日期格式問題 (已解決)

  • 分享至 

  • xImage

請教JAVA使用ibatis時,用getDate()函數於MSSQL儲存日期格式時有差異,是什麼因素導致差異?

JAVA的Mapper為,日期資料是使用getDate(),而非傳值
@Insert("INSERT into TESTTEMP (ID,NAME,INSERTDATE) values (#{Id},#{Name},getDate())")
public void insertA(TestTmp data);

在TABLE內卻有不同的日期格式資料(是不同TABLE,呈現的日期格式不同,而非同TABLE的欄位內日期格式不同)
有兩種格式
格式1 : 03 18 2024 10:48AM
格式2 : 2024-03-18 10:48:24.863

因為程式都是使用getDate()所以判斷應該是資料庫的差異
以為是TABLE的資料類型有差異,但有發現同樣是使用nvarchar(30)還是有不同的情形
而資料庫定序是Chinese_Taiwan_Stroke_CI_AS
不知道還遺漏了什麼地方? 謝謝指教或提供方向

WUcheap iT邦研究生 5 級 ‧ 2024-03-18 11:49:21 檢舉
因為MSSQL的SELECT GETDATE()是顯示格式2,但發現有TABLE資料是顯示格式1,近而發現系統有同樣寫法但產生不同格式,所以才有後續疑問的產生
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0

看起來 Java、iBATIS 和 SQL Server 都面臨著資料處理的困難。 SQL Server 的預設日期表示和 Java 的日期物件處理可以解釋日期格式差異。 SQL Server 的 getDate() 函數傳回目前日期和時間,其格式可能會因伺服器或位置而異。表中不同的資料類型或排序規則可能會改變取得或儲存時的日期格式。它可能有助於定義 basketball stars

我要發表回答

立即登入回答