나는 생일을 포함하는 많은 레코드를 가진 테이블을 가지고있다. 필드는 varchar
이고 각 레코드의 형식은 yyyy/mm/dd입니다 (예 : 1903/11/27).날짜 형식의 varchar 필드로 작업하는 방법은 무엇입니까?
1 월 1 일과 10 월 사이에 생일이있는 레코드를 확인하는 가장 좋은 방법은 무엇입니까?
현재 나의 생각은 RIGHT 함수를 사용하고 dd와 mm 값을 새 임시 테이블의 두 개의 개별 열로 캡처하는 것입니다. 끝나면 "AND"를 사용하여 원하는 레코드를 가져옵니다.
그래서의 라인을 따라 뭔가 :
SELECT * from BIRTHDAYS where (DateBday >= 1 AND DateBday < 11) and (MonthBday = 1)
는 쉬운 방법이 있나요?
'DATETIME'으로 변환 - 결국 날짜 인 경우 - 적절한 데이터 유형에 저장하지 않으시겠습니까 ?? –
수개월 간 검색이 이루어져야합니까? 이것은 현재 설정에 문제가 될 것입니다 (제 생각에는). – jadarnel27
글쎄, 나는 DBA가 아니기 때문에이 경우 옵션이 아니다. 하지만 임시 테이블로 이동 한 다음 적절한 형식으로 저장했습니다. 그런 다음 DATEPART 함수를 사용하여 내가 찾고 있던 레코드를 월과 일 (1 년을 원하지 않기 때문에) 얻습니다. – Ray