날짜/시간 열이있는 테이블 & 날짜 시간 열이 날짜 & 시간을 모두 통과하는이 열 (예 : 25/06/2013 4:54:12 PM).SQL 서버에서 날짜 만 전달하여 날짜 시간 열을 일치시키는 방법
답변
당신은 CAST를 사용하고이 코드는 테스트 목적으로 만 사용됩니다 것을, 예를
select *
from datetimetable
where convert(char(10), datetimecolumn, 103) = '25/12/2013'
하지만 기억을 위해 날짜 http://msdn.microsoft.com/en-us/library/ms187928(v=sql.105).aspx
을 변환하는 기능을 변환 할 수 있습니다. CONVERT 함수 의 다른 매개 변수를 사용하여 더 잘 이해하고 (첫 번째 매개 변수가 다른 크기로 재생되도록) 재생하는 것이 좋습니다.
질문에 대한 다른 답변으로 해결책을 찾아보십시오. 귀하의 환경에 가장 적합한 컴퓨터
t-sql의 datetime 형식은 약간 까다 롭습니다. 먼저 날짜 시간 (예 : 25/06/2013 4:54:12 PM)이 25/06/2013이므로>와 < 연산자를 사용해야합니다! [이미지 설명 입력] [1] example orderdate> '20130625'AND orderdate < '20130626', sql 서버는 'YYYYMMDD'를 글로벌 날짜/시간 형식으로 간주하므로 언어 독립적입니다. 첨부 파일을 살펴 ...
시도를 취할 - :
DECLARE @givenDate DATE;
DECLARE @t AS TABLE (
fld_DateTime DATETIME
)
SET @givenDate = '2013-04-24'
INSERT INTO @t (fld_DateTime)
VALUES ('2013-04-23 14:37:59.580')
, ('2013-04-23 14:59:02.403')
, ('2013-04-23 15:15:36.890')
, ('2013-04-24 08:57:45.800')
, ('2013-04-24 10:44:56.663')
, ('2013-04-24 13:18:20.760')
, ('2013-04-25 09:38:55.503')
, ('2013-06-28 09:20:11.007')
, ('2013-06-28 12:37:04.973')
, ('2013-06-28 12:38:50.130')
, ('2013-07-03 15:27:36.167')
SELECT fld_DateTime
FROM @t
WHERE fld_DateTime >= @givenDate AND fld_DateTime < DATEADD(DAY, 1, @givenDate)
혼자 열을 남겨과 매개 변수에 대한 몇 가지 조작을 수행하는 것이이 상황에서 가장 좋습니다. 당신이 @SearchDate
매개 변수를 전달하는 경우 그래서, 내가 할 줄 :
SELECT abc from mytable
where
CAST(datetimecolumn as date) = @SearchDate
:
SELECT abc from mytable
where
datetimecolumn >= @SearchDate and
datetimecolumn < DATEADD(day,1,@SearchDate)
난 당신이 2008 이상 SQL 서버에서 실행하는 경우, 다음을 사용하는, 믿을
색인은 datetimecolumn
에 있습니다. 반면 특정 색인은 내 첫 번째 쿼리를 사용할 수 있다고합니다. 일반적으로 열에 함수를 호출하는 것을 조심해야합니다. 이러한 작업은 전체 테이블 스캔을 강요하여 성능을 저하시킬 수 있습니다.
당신이 대답을 받아 들일 때와 달리 항상은 날짜를 문자열로 취급하지 않으려합니다. 서식을 지정하자마자 모든 종류의 문제를 초청합니다.
+1 열의 변환으로 여전히 검색이 발생하는 유일한 예외가 있지만 문제는 의문의 여지가 있습니다. 현재는 항상 작동하는지, 내일이면 다음 버전인지, 언급되지 않음 = 보장되지 않음 =주의하십시오. –
@AaronBertrand - 당신 (또는 다른 전문가들 중 한 명)이 전에 그것에 대해 이야기 해 줬기 때문에 포함 시켰습니다 :-) –
- 1. T-SQL : 날짜/시간 필드의 날짜 부분 만 업데이트하는 방법?
- 2. SQL 서버에서 날짜 및 시간 변환
- 3. SQL 데이터 형식 날짜 시간, 날짜, 시간
- 4. SQL 날짜 열을 올리십시오.
- 5. Django 날짜/시간 데이터베이스 날짜 만
- 6. SQL 서버에서 날짜 쿼리
- 7. 문자열의 날짜 패턴을 일치시키는 방법
- 8. SQL 날짜/시간 조작
- 9. 보관 Doctrine2 날짜 시간 만
- 10. MYSQL 날짜/시간 열을 HTML 입력 날짜 시간으로 선택하는 방법
- 11. 날짜 열과 시간 열을 날짜 시간 열로 결합
- 12. 날짜 만 표시하는 방법?
- 13. SQL 날짜 시간 비교
- 14. sql 쿼리 날짜 시간
- 15. SQL 날짜 시간 변환
- 16. SQL Server 디자인 날짜 시간
- 17. 모든 날짜/시간 또는 날짜 열을 특정 간격으로 늘림
- 18. 날짜/시간 서버에서 다른 서버로 변환
- 19. 자바 스크립트 날짜 - 시간 만 무시하고 날짜 만 설정 하시겠습니까?
- 20. 원하는 날짜 시간 부분 만
- 21. 날짜 만 입력하는 경우 데이터베이스의 날짜/시간 필드의 시간은 어떻게됩니까?
- 22. SQL 서버에서 현재 날짜 시간을 얻는 방법?
- 23. SQL 서버에서 날짜 문자열에서 달을받는 방법
- 24. 테이블에 날짜 부분 만 표시하는 시간 소인을 만드는 방법
- 25. mysql 서버에서 날짜 시간 필드 암호화하기
- 26. 24 시간 이내 날짜 형식의 시간 만
- 27. 변경 날짜 시간 문자열 SQL Server 날짜 형식에이 날짜 시간 문자열을 변경하는 방법
- 28. 날짜 추출 날짜 및 시간
- 29. 날짜 시간
- 30. 구문 분석 시간, 날짜/시간 또는 날짜
덕분에, 그것은 나를 위해 작동합니다 ... –
테이블이 큰 경우'convert'가 서버를 무릎 쓰려고한다고 생각하십시오. – armen
Yikes, 강제로 검사합니다. 또한 [길이가없는 varchar는 게으르고 위험한 버릇입니다.] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length.aspx). –