仅提取字符串中的字符

时间:2012-09-06 10:04:16

标签: mysql

我有一个像

这样的列值
lut00006300.txt  
sand2a0000300.raw

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

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

是否有任何方法只从列值中提取剩余扩展名

的字符

结果应该是:

LUT  
SAND2A

2 个答案:

答案 0 :(得分:0)

我认为以下查询会对您有所帮助。

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

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

答案 1 :(得分:0)

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

这是解决方案,因为您希望2中有SAND2A

详细了解函数here