1

我有一个列值

lut00006300.txt  
sand2a0000300.raw

我只需要从上面给定的列值中提取字符数据。我尝试了以下查询并能够获得前三个字符。

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

有没有办法只从列值中提取字符而留下扩展名

结果应该是:

LUT  
SAND2A
4

2 回答 2

0
SELECT
filesize,
UPPER(SUBSTRING_INDEX(SUBSTRING_INDEX(Filename, '.', 1), '0', 1)) AS Instrument
FROM Collection;

这是一个肮脏的解决方案,因为您想拥有2in SAND2A.

在此处阅读有关功能的更多信息。

于 2012-09-06T10:37:49.983 回答
0

I think below query will helps you.

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

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

于 2012-09-06T10:28:55.513 回答