Skip to main content

Import data from existing databases

วิธีนำเข้าข้อมูลจากระบบอื่น

การนำเข้าด้วย csv

เราสามารถ import ไฟล์ csv เข้าฐานข้อมูล QuestDB ได้จากหน้าเว็บคอนโซล

  • สตริงใน CSV ต้องเป็น utf-8 เสมอ
  • ข้อมูลเวลา ห้ามใช้ ISO 8601 datetime string เพราะ QuestDB ไม่ parse สตริงเวลาให้ ต้องแปลงวันเวลาให้เป็น big integer ที่เป็น Unix epoch เท่านั้น (epoch คือจำนวนวินาทีนับตั้งแต่วันที่  1970-01-01)
  • QuestDB ไม่รองรับ timezone ของข้อมูลเวลา จึงมองข้อมูลเวลาเป็น UTC timezone เสมอ ดังนั้นในฐานข้อมูลที่นำเข้าถ้ามองเวลาเป็น local time ต้องแปลงให้เป็น UTC ก่อน (และเป็น bigint epoch) เสมอ
  • ใน CSV  ตัวอย่างเช่น 123044,"","En ฟิลด์ที่สองคือ blank string, ถ้าอยากได้ NULL ต้องไม่ใส่ค่าอะไรเลย แบบนี้ 123044,,"En"

Technical Notes

การแปลงข้อมูลเวลาจาก Microsoft SQL Server

ถ้ามีคอลัมน์ที่เป็น datetime เราต้องแปลงเป็น datetime2 ก่อน แล้วค่อยเปลี่ยนเป็น epoch ดังนี้

SELECT DATEDIFF_BIG(MICROSECOND, '1970-01-01', convert(datetime2, [ts])), temerature
FROM sensor1