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