내가하려는 것은 두 날짜 사이에 쿼리를 실행하는 것이며 날짜는 매개 변수에서 가져온 것입니다.Oracle 쿼리에 날짜 매개 변수 추가
아래 코드에서 한 매개 변수를 넣고 두 번째 날짜를 예제 목적으로 고정 시켰습니다.
코드/쿼리는 여기를 붙여 가지 긴하지만, 여기에 짧은 버전입니다 :
OracleParameter fromDateParameter = new OracleParameter();
fromDateParameter.OracleDbType = OracleDbType.Varchar2;
fromDateParameter.Value = "'3/06/2013 20:00:00'";
this.oracleDataAdapter4.SelectCommand = new OracleCommand("
SELECT DISTINCT (LOG.RID) FROM LOG WHERE LOG.TIMESTAMP
BETWEEN TO_DATE(:fromDateParameter, 'MM/DD/YYYY hh24:mi:ss ')
AND TO_DATE('3/06/2013 23:59:00', 'MM/DD/YYYY hh24:mi:ss '))",
oracleConnection4);
oracleDataAdapter4.SelectCommand.Parameters.Add(fromDateParameter);
this.oracleDataAdapter4.Fill(event11);
그리고 나는이 메시지를 가지고 :
ORA-01858를 : 비 숫자가 일 때 숫자가 발견되었습니다.
매개 변수없이 동일한 쿼리를 수행했는데 제대로 작동합니다.
감사합니다.
WHERE = LOG.TIMESTAMP ... 그건 괜찮습니까? 그 사이에 LOG.TIMESTAMP ... –
과 같은 것이 좋을 것입니다. – BrOSs
OK, 방정식에서 매개 변수를 가져옵니다. SELECT DISTINCT (LOG.RID) from LOG WHERE = LOG.TIMESTAMP TO_DATE ('3/06/2013 23:59:00', 'MM/DD/YYYY hh24 : mi : ss ') TO_DATE ('3/06/2013 23:59:00 ','MM/DD/YYYY hh24 : mi : ss ') 작동합니까? –