안녕하세요 KnexJS의 SELECT 절에 문자열 값을 포함하고 싶습니다. Postgresql에서 잘 작동했지만 해당 쿼리를 Knex 구문으로 변환하는 방법을 모르겠습니다.
다음은 Postgresql입니다.
select date, 'UNFINISHED' from task_history
where store_id=1 and date=20160527
Knex는 다음과 같습니다.
await db.table('task_history')
.count('*')
.select('date', knex.raw("UNFINISHED"))
.where({
store_id: request.params.storeid,
finish_time: null
})
.whereBetween('date', [request.params.sdate, request.params.edate])
.groupBy('date')
Knex one은 UNFINISHED라는 열이 없다는 오류를 표시합니다. "UNFINISHED"는 쿼리 결과와 함께 반환하려는 문자열 값입니다.
아래 첫 번째 솔루션에서 언급했듯이 knex.raw ()를 사용하려고 시도했지만 어떻게 든 knex.raw ()를 사용할 수 없습니다. '기다리다'때문일까요? 잘 모르겠습니다.
업데이트 : .select ( 'date', db.raw ( " 'UNFINISHED'")) 작은 따옴표가 누락되었습니다.
리터럴 문자열의 경우 knex.raw () 사용
db.table('task_history')
.select('date', db.raw("UNFINISHED"))
.where({store_id:1, date:20160527})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다