열이 isnull()
함수처럼 동작하는 값 0인지 확인하는 함수를 찾고 있습니다.mysql - 0 값을 확인하는 isnull()과 같은 함수
이것은 내가 지금까지있어 무엇 :
CONCAT(
SUBSTRING_INDEX(
SUBSTRING(textCol, 1,
LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol)-1),
'|',
-1),
SUBSTRING(
textCol,
LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol),
IFNULL(
LOCATE(/* this will return 0 if it's the last entry */
'|',
textCol,
LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol)
) - LOCATE(DATE_FORMAT(dateCol,'%d.%m.%Y %H:%i'), textCol),
LENGTH(textCol))))
textCol의 데이터 정렬의 각 열 안에 다른 CSV 파일과 CSV 파일과 같다. 각 데이터 집합은 |
으로 구분되며 그 안의 각 데이터 집합은 &&
으로 구분됩니다. 내부 필드는 이름, 날짜, '%d.%m.%Y %H:%i'
및 설명과 같습니다.
dateCol
에있는 특정 DATETIME에 해당하는 데이터 세트를 추출하고 싶습니다. 문제는 내가 찾고있는 항목이 textCol
의 마지막 항목 인 경우 LOCATE
(주석 참조)이 0을 반환한다는 것입니다. 그러나 내 SUBSTRING
이 깨져서 항목의 처음 부분 만 반환됩니다.
여기에 아무 것도하지 않는 ISNULL()
을 추가했습니다. 내가 뭘하고 싶은건 ISNULL()
과 비슷한 것을 가지고 있는데, Perl에서 ||
연산자가 작동하는 것처럼 ISZERO()
과 비슷합니다.
내가 원하는 것을 얻는 데 더 좋은 방법이있을 수 있습니다. 제발 저에게 말해 주십시요.
http://www.sqlfiddle.com/#!2/a291d/2 – Quassnoi
당신을 감사합니다. 그게 효과가있다. 나는 이미''SELECT IF (표현식 = 0, '0 대신 대용, 표현식)''에 대해서 생각했다. 두 경우 모두 오히려 내 경우에는,하지만. – simbabque