Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 레코드에서 숫자를 가져오시겠습니까?

<시간/>

CONVERT() 또는 정규식 함수를 사용합니다. CONVERT() 메서드는 값을 한 데이터 형식에서 다른 데이터 형식으로 변환합니다. 이것은 우리를 위해 ecnetually 숫자를 가져올 것입니다. 예를 들어 보겠습니다.

먼저 테이블을 생성하겠습니다.

mysql> create table textIntoNumberDemo   -> (   -> Name varchar(100)   -> );쿼리 OK, 영향을 받은 행 0개(0.47초)

일부 레코드를 삽입합니다.

mysql> insert into textIntoNumberDemo values('John-11');Query OK, 1개의 row가 영향을 받았습니다(0.11초)mysql> insert into textIntoNumberDemo values('John-12');Query OK, 1개의 row가 영향을 받았습니다(0.17초). )mysql> insert into textIntoNumberDemo values('John-2');Query OK, 1개의 행이 영향을 받았습니다(0.11초)mysql> insert into textIntoNumberDemo values('John-4');Query OK, 1개의 행이 영향을 받았습니다(0.14초) 

모든 기록을 표시합니다.

mysql> select *from textIntoNumberDemo;

다음은 출력입니다.

+---------+| 이름    |+---------+| 존-11 || 존-12 || 존-2  || John-4  |+---------+4행 세트(0.00초)

숫자를 가져오는 구문입니다.

SELECT yourColumnName,CONVERT(SUBSTRING_INDEX(yourColumnName,'-',-1),UNSIGNED INTEGER) AS  yourVariableNameFROM yourTableNameorder by yourVariableName;

다음은 쿼리입니다.

mysql> SELECT Name,CONVERT(SUBSTRING_INDEX(Name,'-',-1),UNSIGNED INTEGER) AS MyNumber   -> FROM textIntoNumberDemo   -> MyNumber로 주문;

다음은 출력입니다.

+---------+----------+| 이름    | 마이넘버 |+---------+----------+| 존-2  | 2 || 존-4  | 4 || 존-11 | 11 || 존-12 | 12 |+---------+----------+4행 세트(0.00초)