2012-03-15 4 views
-1

날짜 문제가 하나 있습니다. 예를 들어 날짜 형식이 2010-10-10 22:10:00.000 인 경우이 날짜가 유효하며 데이터베이스 테이블에 삽입됩니다.잘못된 날짜를 SQL의 유효한 날짜로 변환하는 방법

그러나 날짜 형식이 2010-10-10 25:10:00.000 인 경우 잘못된 날짜입니다. 시간 수가 24보다 큰지 확인하여 날짜에 하루를 더하고 시간 소인에서 24 시간을 뺍니다.

알려 주시기 바랍니다.

답변

2

사람들이 왜 자유 형식의 날짜와 시간을 입력하도록 허용하여 말도 안되는 사람들로 채울 수 있습니까? 2010-13-132012-02-31을 수용 할 계획입니까? 양식에 드롭 다운을 넣으면 사용자는 유효한 날짜와 시간 만 선택하고 서버에 보내기 전에 유효성을 검사 할 수 있습니다.

이 쓰레기를 구문 분석하고 사용자가 휴식을 취할 수 있도록 모든 규칙을 지원할 수있는 추악한 방법이있을 수 있지만 실제로는 오정화되지 않고 어떤 경우에는 오타를 실제로 "수정"하여 입력 할 수 있습니다 사용자가 의도하지 않은 날짜/시간. 그러나 당신이 실수를 고쳤기 때문에 그들은 실수를했다는 것을 전혀 모릅니다.

+1

그게 사실입니다. 사용자는 항상 말도 안돼. 그러나 개발자로서 불가능하다고 말할 수는 없습니다. 사용자는 틀린 말도 안되는 데이터를 자유롭게 줄 수 있지만 그 해결책을 찾았습니다. – Jeetesh

+0

클라이언트 계층에서 강력한 강력하게 형식화 된 매개 변수화 된 명령 호출이이를 catch합니다. 무작위 사용자 Bob이 '2010-10-10 25 : 10 : 00.000'을 입력하면 유효 시간 + 1 시간으로 다시 변환 될 것으로 기대하지 않습니다. –

관련 문제