2012-05-07 4 views
0

다음은 지난 주에 날짜 표시가 MYSQL 스크립트입니다 : 나는 tstamp 일 토요일 현재 주 일요일에 속하는 경우 필드에 "1"을 넣어 다음 스크립트를MYSQL :

하지만, 대신 모든 연도로 돌아가서 현재 연도 대신 1을 삽입합니다.

아이디어가 있으십니까?

IF(FROM_UNIXTIME(renprop_commercial_new.tstamp, "%U") = FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()),"%U"),1,0) 
+0

올해도 '% Y- % U'가 되십시오. –

답변

1

% U는 타임 스탬프가 실제로 어떤 연도인지에 관계없이 연중 만 반환하므로 연도도 비교해야합니다. 가장 쉬운 방법은 형식 문자열로 %Y-%U을 사용하는 것입니다. 그러면 23 대신에 2012-23이 표시됩니다.

그러나 평등 비교를 수행하는 경우에만 신뢰할 수 있습니다. 더 큰/적은 비교를하기 시작하면 2012-2과 같고 2012-13보다 "더 큼"으로 평가됩니다. 왜냐하면 비교는 숫자가 아닌 문자열로 수행되기 때문입니다.

+0

'% U' 결과는 접두사가 없으므로 비교를 위해서도 좋습니다. –

+0

고맙습니다. 필자는이 지표를 테스트와 함께 사용하여 정확한 연도인지 여부를 결정하기로 결정했습니다. 나중에 이해하기 쉬울 것입니다. – hermanvn