[SQL] 어떻게 SQL Server의 특정 날짜보다 큰 모든 날짜에 대해 쿼리합니까?
SQL어떻게 SQL Server의 특정 날짜보다 큰 모든 날짜에 대해 쿼리합니까?
노력하고있어:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
같은 A.Date 외모 : 2010-03-04 00 : 00 : 00.000
그러나이 작동하지 않습니다.
사람이 이유에 대한 참조를 제공 할 수 있습니까?
해결법
-
==============================
1.
select * from dbo.March2010 A where A.Date >= Convert(datetime, '2010-04-01' )
쿼리에서 2010년 4월 1일 때문에 본질적으로는 읽기, 수학 식으로 처리됩니다
select * from dbo.March2010 A where A.Date >= 2005;
(2010 뺀 4 1을 뺀 2005입니다 적절한 날짜로 변환하고,이 문제를 해결합니다 작은 따옴표를 사용.)
기술적으로, 파서는 당신이 멀리 얻을 수 있습니다
select * from dbo.March2010 A where A.Date >= '2010-04-01'
당신을 위해 변환을 할 것입니다,하지만 내 생각에 명시 적으로 후 올 것이다 유지 보수 프로그래머를위한 날짜 시간으로 변환보다 읽을 수 있습니다.
-
==============================
2.문자열로 날짜를 둘러싸보십시오.
문자열로 날짜를 둘러싸보십시오.
select * from dbo.March2010 A where A.Date >= '2010-04-01';
-
==============================
3.우리는뿐만 아니라 아래와 같이 사용할 수 있습니다
우리는뿐만 아니라 아래와 같이 사용할 수 있습니다
SELECT * FROM dbo.March2010 A WHERE CAST(A.Date AS Date) >= '2017-03-22'; SELECT * FROM dbo.March2010 A WHERE CAST(A.Date AS Datetime) >= '2017-03-22 06:49:53.840';
-
==============================
4.
DateTime start1 = DateTime.Parse(txtDate.Text); SELECT * FROM dbo.March2010 A WHERE A.Date >= start1;
날짜 시간에 첫 번째 변환 텍스트 상자는 .... 쿼리에 해당 변수를 사용
-
==============================
5.그것은 모든 위로를 요약하면, 정답은 :
그것은 모든 위로를 요약하면, 정답은 :
select * from db where Date >= '20100401' (Format of date yyyymmdd)
이것은 다른 언어 시스템에 문제를 방지하고 인덱스를 사용합니다.
from https://stackoverflow.com/questions/10643379/how-do-i-query-for-all-dates-greater-than-a-certain-date-in-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PostgreSQL의를 사용하여 동일한 쿼리에서 여러 행을 업데이트 (0) | 2020.04.17 |
---|---|
[SQL] 열이 MySQL은 비어 있거나 null의 경우는 어떻게 확인합니까? (0) | 2020.04.17 |
[SQL] 응용 프로그램에서 SQL 대에서 계산을 수행의 장점과 단점은 무엇입니까 (0) | 2020.04.17 |
[SQL] 어떻게 당신이 버전의 데이터베이스 스키마를합니까? [닫은] (0) | 2020.04.17 |
[SQL] 이름 바꾸기 열 SQL 서버 2008 (0) | 2020.04.17 |