使用分隔符提取字符

时间:2010-03-16 07:29:51

标签: sql

我有一个名为'200_CFL_2010'的字符串。我希望得到_之间的字符。我希望输出为'CFL'。我必须通过SQL实现它。

2 个答案:

答案 0 :(得分:1)

我认为这可能取决于您的数据库(MySQL,Oracle,等等......) 搜索“字符串函数”和数据库名称。例如MySQL,你可以在这里找到它:http://dev.mysql.com/doc/refman/5.1/en/string-functions.html

INSTR和SUBSTR功能是您正在寻找的功能。然后使用

SELECT SUBSTR(field, INSTR(field, "_", 1), INSTR(field, "_", 2) - INSTR(field, "_", 1)) FROM ...

注意:INSTR在MySQL中只有两个参数...你需要在那里级联SUBSTR。

答案 1 :(得分:1)

select substring(col, 0, LEN(col) - charindex('_', col)) as col
from
(
    select substring(col, charindex('_', col) + 1, LEN(col)) as col
    from
    (
        select '200_CFL_2010' as col
    ) as subq
) as subq