SQL 쿼리에서 evalinsert를 사용하는 방법은 무엇입니까?안녕하세요 여러분,
목록과 변수를 사용하여 쿼리하려고 합니다. 그러나 dateNow 변수를 쿼리하는 방법을 알 수 없습니다. 이 오류가 계속 발생합니다.
쿼리를 실행하는 동안 오류가 발생했습니다: [SQLState 42601] 오류: "00" 또는 그 부근에서 구문 오류가 발생했습니다.
LINE 4: 2024년 3월 12일 오전 00:00:00부터 3월 12일 사이의 test_date_time...
내 샘플 스크립트는 다음과 같습니다.
namecol= {"James", "John", "Anna", "Rose")
dateNow = "03/12/2024"
eval(parse(evalinsert("\[
dt_qst = Try ( Open Database( "DSN=dbs;UID=uname;PWD=pw;APP=JMP;DATABASE=db;",
"select name, age, address, test_date_time
from db
where name in (^namecol^)
and test_date_time between ^dateNow^ 00:00:00 AM and ^dateNow^ 11:59:59 PM'",
"rawdata") )
]\")));;자동화 및 스크립팅윈도우Re: SQL 쿼리에서 evalinsert를 사용하는 방법은 무엇입니까?스크립트에 작은 오타가 많아 작동을 방해합니다. 그 외에 목록에서 문자열로 이동하려면 Concat Items를 사용해야 합니다. 또한 디버깅을 좀 더 쉽게 만들려면 Open Database 외부에서 쿼리 문자열을 작성한 다음 그 안에 새 문자열을 사용하세요.
Names Default To Here(1);
namecol= {"James", "John", "Anna", "Rose"};
dateNow = "03/12/2024";
sql_template = "\[
select
name,
age,
address,
test_date_time
from db
where
name in ('^namestr^')
and test_date_time between ^dateNow^ 00:00:00 AM and ^dateNow^ 11:59:59 PM'
]\";
namestr = Concat Items(namecol, "', '");
sql_str = Eval Insert(sql_template);
나는 또한 이것이 기본적으로 이미 두 번 답변되었다고 생각합니다
존재하지 않는 경우 SQL 쿼리의 JSL 목록에서 항목을 건너뛰는 방법은 무엇입니까? JSL의 목록을 사용하여 SQL에서 쿼리하는 방법
Re: SQL 쿼리에서 evalinsert를 사용하는 방법?네, 하지만 왜 이 오류가 계속 발생하는지 이해가 안 됩니다.
쿼리를 실행하려고 하는 동안 오류가 발생했습니다: [SQLState 42601] 오류: "00" 또는 그 근처에서 구문 오류가 발생했습니다.
LINE 10: 그리고 test_date_time은 2024년 3월 12일 오전 12시 00분 00초와 03/12... 사이입니다.