1

次のような列の値があります

lut00006300.txt  
sand2a0000300.raw

上記の列の値から文字データのみを抽出する必要があります。以下のクエリを試したところ、最初の 3 文字を取得できました。

select filesize,
substring(Filename  FROM 1 FOR 3) AS Instrument from Collection;

拡張子を残して列の値から文字のみを抽出する方法はありますか

結果は次のようになります。

LUT  
SAND2A
4

2 に答える 2

0

以下のクエリが役立つと思います。

select filesize,Filename from Collection where Filename REGEXP '[:alpha]';

参照:- http://dev.mysql.com/doc/refman/5.1/en/regexp.html

于 2012-09-06T10:28:55.513 に答える
0
SELECT
filesize,
UPPER(SUBSTRING_INDEX(SUBSTRING_INDEX(Filename, '.', 1), '0', 1)) AS Instrument
FROM Collection;

を入れたいので、これは汚い2解決策ですSAND2A

関数の詳細については、こちらをご覧ください。

于 2012-09-06T10:37:49.983 に答える