在Epicor的數據庫中,時間存儲的是String類型,以下整理了幾種轉換成時間格式的方式和應用場景:
1.在BAQ中如何轉換
在BAQ中創建一個Calculation的字段,定義如下:
DataType = nvarchar
Format x(8)
Editor:
CONVERT(char(8),DateAdd(second,Table.Fieldname,‘0:00:00’), 108)
For example:
CONVERT(char(8),DateAdd(second,OrderHed.ChangeTime,‘0:00:00’), 108)
執行BAQ可得到類似下面的結果
2.在SQL腳本中的轉換
轉換的公式同BAQ一樣,如下:
CONVERT(char(8),DateAdd(second,OrderHed.ChangeTime,'0:00:00'), 108)
or
CONVERT(char(8),DateAdd(second,OrderHed.ChangeTime,'00:00:00'), 108)
以上兩個僅僅是在小時小於10是,是否在前面補0顯示。
for example:
select CONVERT(char(8),DateAdd(second,SysTime,'00:00:00'), 108) as TranTime from Erp.PartTran
3. 調用Epicor數據庫自帶的函數
在Epicor標準的數據庫中,已經內置了一個轉換函數Ice.StringTime,直接調用也可以。
For Example:
select Ice.StringTime(SysTime,'00:00:00') as TranTime from Erp.PartTran