>  기사  >  데이터 베이스  >  mysql이 숫자인지 확인하는 방법

mysql이 숫자인지 확인하는 방법

WBOY
WBOY원래의
2022-02-24 11:44:4912419검색

mysql에서는 정규식 "[^0-9.]"와 함께 REGEXP 연산자를 사용하여 데이터가 숫자인지 여부를 확인할 수 있습니다. 구문은 "field REGEXP '[^0-9.]'"입니다. 이 명령문의 결과가 "1"이면 숫자가 아닌 데이터를 필터링할 수 있습니다. 이 명령문의 결과가 "0"이면 값이 숫자인 데이터를 필터링할 수 있습니다.

mysql이 숫자인지 확인하는 방법

이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.

mysql이 숫자인지 확인하는 방법

대부분의 숫자는 int 또는 bigint로 저장되지만 일부 필드는 문자열을 사용하여 숫자를 저장합니다. 따라서 문자열 형식이 모두 숫자인지 확인해야 할 때 이 문제에 직면하게 됩니다. .

그럼 어떻게 판단할까요?

Method

mysql의 REGEXP 연산자를 사용합니다

{String} REGEXP '[^0-9.]'

앞의 문자열이 우리가 판단해야 할 문자열이고, 다음의 문자열은 mysql의 정규 표현식으로, 숫자나 소수점이 아닌 문자를 일치시킨다는 뜻입니다.

문자열에 0-9 또는 소수점이 아닌 숫자가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

Usage

select ('123a' REGEXP '[^0-9.]');

--'123a'에는 문자 'a'가 포함됩니다. mysql에서 true 상수의 출력 결과는 1입니다. false의 출력은 0

select * from tablename where (name REGEXP '[^0-9.]') = 1

이름이 모두 숫자인 레코드를 쿼리합니다

참고: 문자열에 공백이 있으면 정규 표현식이 일치하여 1이 반환됩니다. 양쪽 끝의 공백을 제거하려면 심사하려는 문자열에 대해 Trim() 함수를 사용해야 합니다.

#속도 열이 숫자가 아닌 데이터 쿼리

select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;

#속도 열이 숫자인 데이터 쿼리

select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;

추천 학습: mysql 동영상 튜토리얼

위 내용은 mysql이 숫자인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.