ฉันจะแปลงค่าการประทับเวลายูนิกซ์เช่น 1348560343598
เป็น H2 Timestamp
ได้อย่างไร
ตารางหนึ่งของฉันมีการประทับเวลายูนิกซ์เหล่านี้ในคอลัมน์ BIGINT(19)
และฉันต้องแปลงให้เป็นคอลัมน์ประเภท TIMESTAMP
ฉันจะแปลงค่าการประทับเวลายูนิกซ์เช่น 1348560343598
เป็น H2 Timestamp
ได้อย่างไร
ตารางหนึ่งของฉันมีการประทับเวลายูนิกซ์เหล่านี้ในคอลัมน์ BIGINT(19)
และฉันต้องแปลงให้เป็นคอลัมน์ประเภท TIMESTAMP
ตกลง ใช้สูตรต่อไปนี้ได้ผล:
select DATEADD('SECOND', 1348560343, DATE '1970-01-01')
อย่าลืมหารการประทับเวลาด้วย 1,000 การใช้ 'MILLISECOND'
ไม่ได้ผล คุณจะได้ Numeric value out of range
Calendar.add(int field, int amount)
ซึ่งใช้ภายใน H2 ไม่ใช้ java.util.Calendar
อีกต่อไปสำหรับคุณลักษณะวันที่/เวลาส่วนใหญ่ เนื่องจากปัญหาเกี่ยวกับเขตเวลา แต่ในกรณีนี้ ยังคงใช้คุณลักษณะนี้อยู่
- person Thomas Mueller; 15.04.2013