반응형
SQL Server에서 특정 날짜보다 큰 모든 날짜를 어떻게 쿼리합니까?
노력하고있어:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
다음과 같습니다 : 2010-03-04 00:00:00.000
그러나 이것은 작동하지 않습니다.
누구나 이유에 대한 참조를 제공 할 수 있습니까?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
쿼리에서 2010-4-01
수학 표현식으로 취급되므로 본질적으로 읽습니다.
select *
from dbo.March2010 A
where A.Date >= 2005;
( 2010 minus 4 minus 1 is 2005
적절한로 변환하고 datetime
작은 따옴표를 사용하면이 문제가 해결됩니다.)
기술적으로 파서는
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
그것은 당신을 위해 변환을 할 것이지만, 내 의견으로는 당신 DateTime
을 따르는 유지 보수 프로그래머를 위해 명시 적으로 변환하는 것보다 읽기 쉽지 않습니다 .
날짜를 문자열로 묶어보십시오.
select *
from dbo.March2010 A
where A.Date >= '2010-04-01';
아래와 같이 사용할 수 있습니다
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';
DateTime start1 = DateTime.Parse(txtDate.Text);
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= start1;
먼저 TexBox를 Datetime으로 변환 한 다음 해당 변수를 쿼리에 사용하십시오.
요약하면 정답은 .....
날짜> = '20100401'(날짜 형식 yyyymmdd)에서 *를 db에서 선택하십시오.
이것은 다른 언어 시스템에 대한 문제를 피하고 색인을 사용합니다
반응형
'Programing' 카테고리의 다른 글
CSS 컨텐츠 값에 유니 코드 문자 배치 (0) | 2020.03.16 |
---|---|
Dockerfile에서 주석을 작성하려면 어떻게합니까? (0) | 2020.03.16 |
물음표와 도트 연산자는 무엇입니까? (0) | 2020.03.16 |
루비 STDIN의 모범 사례? (0) | 2020.03.16 |
C # Java HashMap 동등 (0) | 2020.03.16 |