콘텐츠로 건너뛰기
리뷰나라
  • JAVASCRIPT
  • JAVA
  • PYTHON
  • C#
  • Android
  • Html

[sql-server] SQL Server datetime LIKE SELECT?

Program / 글쓴이 어드민

MySQL에서

select * from record where register_date like '2009-10-10%'

SQL Server의 구문은 무엇입니까?



답변

DATEPART () 함수를 사용할 수 있습니다.

SELECT * FROM record
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

이 방법은 시간 구성 요소를 무시하고 선택을 제한하기 위해 다음 날 날짜를 사용할 필요가 없기 때문에 읽기 쉽습니다. 적절한 DatePart 코드를 사용하여 추가 절을 추가하여 더 많거나 더 작은 단위로 이동할 수 있습니다.

AND    DATEPART(hh, register_date) = 12)

12에서 1 사이의 기록을 얻으려면

유효한 인수의 전체 목록은 MSDN DATEPART 문서 를 참조하십시오 .


답변

DATETIME 변수에 대해 LIKE 연산자를 직접 지원하지는 않지만 항상 DATETIME을 VARCHAR로 캐스트 할 수 있습니다.

SELECT (list of fields) FROM YourTable
WHERE CONVERT(VARCHAR(25), register_date, 126) LIKE '2009-10-10%'

CONVERT 함수에서 사용 가능한 “스타일”의 전체 목록은 MSDN 문서 를 확인하십시오 .

마크


답변

그렇게하면 문자열 변환을 강제하는 것입니다. 시작 / 종료 날짜 범위를 만들고 다음을 사용하는 것이 좋습니다.

declare @start datetime, @end datetime
select @start = '2009-10-10', @end = '2009-11-10'
select * from record where register_date >= @start
           and register_date < @end

이렇게하면 register_date테이블 스캔이 아닌 인덱스 (에있는 경우)를 사용할 수 있습니다 .


답변

CONVERT를 사용하여 텍스트 형식으로 날짜를 가져올 수 있습니다. varchar (10)로 변환하면 다음과 같이 대신 =를 사용할 수 있습니다.

select *
from record
where CONVERT(VARCHAR(10),register_date,120) = '2009-10-10'

또는 인덱스를 사용할 수 있다는 추가 이점과 함께 상한 및 하한 날짜를 사용할 수 있습니다.

select *
from record
where '2009-10-10' <= register_date
and register_date < '2009-10-11'


답변

불행히도 ‘LIKE’를 사용하여 datetime을 varchar와 비교할 수는 없지만 원하는 출력은 다른 방법으로 가능합니다.

    select * from record where datediff(dd,[record].[register_date],'2009-10-10')=0


답변

변환을 사용하여 LIKE를 사용하여 날짜를 검색 할 수도 있습니다. 예를 들면

select convert(VARCHAR(40),create_date,121) , * from sys.objects where     convert(VARCHAR(40),create_date,121) LIKE '%17:34%'


답변

LIKE운영자는 월 또는 날짜와 같은 날짜 부분이 작동하지 않습니다하지만 DATEPART운영자는 않습니다.

개설 날짜가 1 일인 모든 계정을 찾는 명령 :

SELECT *
  FROM Account
 WHERE DATEPART(DAY, CAST(OpenDt AS DATE)) = 1`

* 주조 OpenDt그것의 가치에 있기 때문에 DATETIME뿐 아니라 DATE.




글 탐색

← 이전 글
다음 글 →

최신 글

  • [java] .pem 파일을 읽고 개인 및 공개 키를 얻는 방법
  • [javascript] 페이지의 모든 AJAX 요청에 “후크”추가
  • [android] ListView가 접히지 않고 어떻게 ScrollView에 넣을 수 있습니까?
  • [linux] Apache 서버의 루트 디렉토리를 어떻게 변경합니까? [닫은]
  • [ios] Swift에서 Int를 Hex String으로 변환하는 방법
  • [python] 등급 시스템 기능에서 반복적 인 if-elif 문을 어떻게 단순화 할 수 있습니까?
  • [c#] C #에서 스택 오버플로 예외 포착
  • [windows] Windows의 /usr/local/ssl/openssl.cnf에서 구성 정보를로드 할 수 없습니다
  • [twitter-bootstrap] Bootstrap을 사용하여 모바일에 테이블을 표시하는 방법은 무엇입니까?
  • [windows] BATCH 스크립트에서 무작위로 사용하는 방법은 무엇입니까?

카테고리

태그

.net android angular angularjs arrays asp.net asp.net-mvc bash c c# css database django docker html ios iphone java javascript jquery json linux macos mysql node.js objective-c pandas php postgresql python r reactjs regex ruby ruby-on-rails shell sql sql-server string swift typescript unix visual-studio windows xcode
Copyright © daplus.net - Powered by Naya