문제

Datediff를 사용하는 방법? 이것을 어떻게 작동시킬 수 있습니까? 아니면 Datediff를 완전히 다르게 사용해야합니까?

SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';

나는 대답을 얻으려고 노력한다.

나는 Aswer와 같은 것을 얻고 싶습니다 :
지속 시간 = 7 일;

이런 종류의 데이터베이스가 있습니다.

시작 | 끝날 것이다
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26

도움이 되었습니까?

해결책

놓다 will_end 첫 번째, started 초:

SELECT  DATEDIFF('2009-12-24', '2009-12-17') 

---
  7

또한 필드 이름에서 단일 따옴표를 제거하십시오.

SELECT  DATEDIFF(will_end, started) AS Duration
FROM    my_table
WHERE   id = 110

, 또는 백 티크로 교체하십시오.

SELECT  DATEDIFF(`will_end`, `started`) AS `Duration`
FROM    `my_table`
WHERE   `id` = 110

다른 팁

당신은 받고 있습니까? NULL 결과? 당신은 당신의 쿼리에 단일 따옴표로 열 이름을 가지고 있습니다. 즉, 문자열을 전달하고 있음을 의미합니다. 'Started ' 그리고 'will_end' 에게 DATEDIFF 열 값보다는. 단일 따옴표를 제거 해보면 몇 가지 결과가 표시됩니다.

SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';

이것은 당신에게 부정적인 결과를 줄 것입니다. 긍정적 인 결과를 얻으려면 열의 순서를 뒤집습니다.

SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';

주문을 교체하십시오

Datediff ( 'will_end', '시작')

Datediff (DatePart, StartDate, EndDate)에 전달 될 3 개의 매개 변수가 있다고 생각합니다.

따라서 코드는 Datediff (DD, 'Start', 'Will_end')입니다.

http://msdn.microsoft.com/en-us/library/ms189794.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top