2017-01-05 2 views
0

私のMySQLデータベーステーブルには、テキスト型の値を格納する列があります。値の1つは次のとおりです。MySQL - テキスト型の値から始まる数字のみを抽出します

12 
abc: 2 
bcd_cdm30: 1 
ijk_jkl: 2 
ijk_mbo: 3 
zero_m: 1 
single_m: 0 
hovered: 2 
charged_one: '50' 

この値のうち、12番目の数値だけを抽出したいと思います。 MySQLでどうしたらいいですか?

+0

select * from table where colname REGEXP '^ [0-9]'開始桁の検索には数値を使用します。 – Assen

+0

これは1つの数字で始まります... –

+0

REGEXP '^ [0-9] [0-9]'これは2桁から始まります。 – Assen

答えて

1

最も簡単な方法は、フィールドを数値データ型にキャストすることです。 Mysqlは数値として解釈され、残りの部分を変換プロセスで破棄できる限り、値の先頭の文字を取ります。

ちょうどそれに0を追加し、数値に数値を変換するには:

select text_field + 0 from yourtable 

警告:あなたはそこに本当に長い番号を持っている場合、それは数値データ型のいずれにも適合しない場合があります。

+0

Cool !!これは最高のソリューションです... –

関連する問題