3

文字列の中間部分を取得しようとしています。私のテーブルは以下のようなものです:

id   machine   model
1    lathe     ISO-678-1567 

マシンモデルから678のようなミッドパーツを手に入れたいです。

Desred出力:

id   machine   model             midcode
1    lathe     ISO-678-1567      678

現在、私はPHPcodweで同じことをしています。しかし、Mysqlクエリ自体で行う方が良いと思います。これを行う方法を教えてください。

4

5 に答える 5

6

MID(str,pos,len)これを行うmysql関数を使用します。

SELECT id,machine,model,MID(model,4,3) as midcode FROM tablename 
于 2012-04-11T01:55:15.473 に答える
4

modelが常に固定長の場合は、次SUBSTRING()のように使用できます。

SELECT SUBSTRING(model, 5, 3) AS 'midcode' FROM Tablename 
于 2012-04-11T01:57:46.690 に答える
1

次のクエリを使用してSQLフィドルを作成しました。

SELECT id,machine,model,
       left(substring(model,(instr(model,'-')+1)),instr(model,'-')-1) AS midcode
FROM tbl_machine;
于 2013-02-21T18:46:52.450 に答える
0

SUBSTR / SUBSTRINGを探します:http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_substr

具体的な用途はSUBSTRING(field、start_position、length)です。

SELECT SUBSTRING(model, 5, 3) as 'midcode' from Tablename
于 2012-04-11T02:03:56.370 に答える
0

MID() -指定された位置から始まる部分文字列を返します
SUBSTRING()指定されたとおりに部分文字列を返します

サイトリファレンス:DOCS OFFICIAL

于 2016-01-18T11:44:21.080 に答える