2016-08-01 2 views
1

다른 질문에 대한 제안 사항을 살펴 보았습니다. 날짜를 비교하고 있지만이 코드가 작동하지 않는지 확인한 후 다시 추가했습니다. 이 성명서에서 내가 뭘 잘못하고 있니? 그것은MYSQL 날짜 비교 문제 예외

나에게 예외를 제공

SELECT * from project where project.completed_date >= '2015-01-01' order by customer, projectName

"java.sql.SQLException의 : javax.servlet.ServletException에서 알 수없는 열 '2015년 1월 1일를' 'WHERE 절'"

날짜가 열이 아닌 값으로 표시되는 이유는 무엇입니까?

+1

적절한 서식을 해 주시기 바랍니다보십시오. – Jay

답변

1

날짜 주위에 단 일치 (또는 이중) 인용 부호를 사용해야하며 역 인용 부호는 사용하지 않아야합니다. 당신은 문자열과 날짜를 비교하는

SELECT * 
FROM project 
WHERE project.completed_date >= '2015-01-01' 
ORDER BY customer, projectName 
+0

는 작은 따옴표 만 사용하고 오류가 발생하지 않고 반환되는 항목을 얻지 않으려 고 시도했습니다. (SELECT * from project.completed_date> = '2015-01-01'고객, projectName 순) – thomas810

+1

일치하는 데이터가 없거나'completed_date'를'varchar' 열 (장난 꾸러기)으로 만들었을 수도 있습니다. –

0

: 같은 따라서 쿼리가 보일 것입니다. 그 참조에 대한 자세한 내용은

SELECT * from project where project.completed_date >= STR_TO_DATE('2015-01-01','%Y-%m-%d') order by customer, projectName 

: 같은 조회를 다시 작성 Converting a date in MySQL from string field

+0

고객 (projectName)에 의해 project.completed_date> = STR_TO_DATE ('2015-01-01', '% Y- % m- % d') 주문을 받고 오류가 발생하지 않는 프로젝트에서 SELECT *를 시도했지만 너무 빠릅니다. 반환되는 것을 얻지 못하며 – thomas810

+1

과 일치하는 열에 100이 있어야합니다. 'project.completed_date'의 형식 또는 형식은 무엇입니까? – cdaiga

+0

아, 나는 오라클 데이터베이스에 대해 와일드 카드를 사용했습니다. 방금 대답을 수정했습니다. – cdaiga

1

SELECT * 
FROM project 
WHERE completed_date >= STR_TO_DATE('2015-01-01', '%Y-%m-%d') 
ORDER BY customer, projectName