2012-07-05 4 views
0

임 "0"MySQL의 조건부 가능 여부

는 기본적으로 나는이 가지고에 "1970년 1월 1일"에서 유닉스 날짜를 변경하려고 : 그래서이 MySQL이가 "마지막 방문일을 말하는 내보낼 때

FROM_UNIXTIME(last_visit, '%d-%m-%Y') AS Last_Visit 

을 - 01/01/1970 "이 분명하지 않습니다.

그래서 나는 그것이 "절대로"조금 손실

그러나 임 ...

+0

왜 열의 기본값을 'NULL'로 변경하면 좋을까요? – jexact

+0

나는 데이터베이스를 편집하고 미리 작성된 CMS에서 데이터를 가져와야하기 때문에 최근에는 MySQL에 들어갔다. –

답변

4
그것은 더 나은 것

가에 0보다 NULL을 사용하지하기 위해 1970 변화가 말한다면 상태로 조건이 필요할 수 있습니다 생각 이 문맥. 당신이 (01/01/1970 인) 0에 동일한 있다면 NULLlast_visit를 대체하는 MySQL의의 NULLIF() 기능을 사용할 수 있습니다

: 기본 테이블을 더 나은

FROM_UNIXTIME(NULLIF(last_visit,0), '%d-%m-%Y') AS Last_Visit 

아직 업데이트 (다음 원래 SQL 잘 된 직후 작동 것) :

UPDATE mytable SET last_visit = NULL WHERE last_visit = 0 
+0

완벽한! 추가했지만 CSV로 내보낼 때 필드를 비워 둡니다. 거기에 메시지를 넣는 방법이 없나요? "절대"같은 것이 있습니까? Null은 현재 괜찮습니다. –

+0

@JasonMayo : CSV로 어떻게 내보내 시나요? ['SELECT ... INTO OUTFILE'] (http://dev.mysql.com/doc/en/select-into.html)을 사용한다면, 단순히 선택 목록에서 지정할 수 있습니다. 예 : '선택 a, b, c, IFNULL (last_visit, 'Never') INTO OUTFILE ...'. – eggyal

관련 문제