2016-09-20 5 views
0

열 값이 정수없이 시작하는지 확인하려고합니다. 열은 8 자리이고 Integer입니다. 나는 글자로 시작하는 하나의 가치를 가지고 있으며, 어떤 이유로 그걸 가지고 행을 골라 낼 수는 없습니다. 그 값을 빈 빈칸으로 설정하려하지만 그 행은 추출되지 않습니다.열이 비 정수로 시작하는지 확인하십시오.

LIKE 및 REGEXP를 사용해 보았지만 작동하지 않거나 사용하고있는 방식이 실패했습니다.

편집 : 예외가 발생합니다. REGEXP를 사용할 때 SQL 쿼리를 구문 분석 할 수 없습니다. int로 캐스팅 할 때 값이 문자로 시작하는 데이터 변환 오류가 발생합니다.

예 1 :

CASE 
WHEN Column LIKE '^[0-9]' THEN Column = '' 
END 

예 2 :

CASE 
WHEN Column REGEXP '^[0-9]' THEN Column = '' 
END 
+0

LIKE는 정규식 연산자를 사용하지 않으므로 첫 번째 숫자는 실패합니다. –

+0

REGEXP '^ [0-9] + $'; –

+0

또 다른 방법은'CAST'를 사용하여 데이터 형식을 unsigned로 변환하고 열의 출력을 정수로 강제 변환하는 것입니다. 숫자로 시작하면 null 또는 0이됩니다. 그러므로 이것은 단지 주석이다) – Martin

답변

0

다만 당신의 선택 동안 emptystring에 숫자로 시작하지 않는 값을 변환하는 방법을 사용할 수 있습니다

CASE 
    WHEN Column REGEXP '^[0-9]' THEN Column ELSE '' 
END