我想實作以下 sql 查詢:
date_count = await customQuery(
`
SELECT
COUNT(org.name
OR c.name
OR co.name
OR seg.arrival_details
OR seg.departure_details
OR seg.segment_airline_id
OR seg.segment_arrival_airport_code
OR seg.segment_departure_airport_code
OR seg.segment_flight_number
OR seg.trip_id
OR b.trip_id
OR bf.pnr_no
OR bf.airline_pnr_no
OR b.booking_status
OR b.created
OR org.organisation_id
OR org.name
) AS total_count
FROM
segment_details AS seg
LEFT JOIN trip_details AS tr ON seg.trip_id = tr.trip_id
LEFT JOIN bookings_flight AS bf ON tr.bookings_flight_id = bf.booking_flight_id
LEFT JOIN bookings AS b ON bf.booking_id = b.booking_id
LEFT JOIN organisation AS org ON b.organisation_id = org.organisation_id
LEFT JOIN city AS c ON org.city_id = c.city_id
LEFT JOIN country AS co ON org.country_id = co.country_id
WHERE
seg.segment_departure_date BETWEEN
${moment(date.startDate).startOf('day').format("YYYY-MM-DD HH:mm:ss") }
AND ${moment(date.endDate).endOf('day').format("YYYY-MM-DD HH:mm:ss")}
`)
但我收到以下錯誤:
UnhandledPromiseRejectionWarning: Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00:00:00
我的日期結果為:'2021-10-01T08:00:00.000Z'
當我對它應用 moment js 時,我的結果如下:'2021-10-01 00:00:00'
我正在使用 MySQL、SQL Yog
我該如何解決這個錯誤?任何幫助或建議將不勝感激。
uj5u.com熱心網友回復:
嘗試用單引號將您的日期括起來:
...
seg.segment_departure_date BETWEEN
'${moment(date.startDate).startOf('day').format("YYYY-MM-DD HH:mm:ss")}'
AND '${moment(date.endDate).endOf('day').format("YYYY-MM-DD HH:mm:ss")}'
uj5u.com熱心網友回復:
試試看。您需要添加單引號
const startDate = moment(date.startDate).startOf('day').format("YYYY-MM-DD HH:mm:ss");
const endDate = moment(date.endDate).endOf('day').format("YYYY-MM-DD HH:mm:ss");
...
WHERE
seg.segment_departure_date BETWEEN '${startDate}' AND '${endDate}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/334338.html
