日期:2014-05-19  浏览次数:20479 次

求助:查询SQL语句的写法?
现在有一个表   table1(field1,field2,field3)   ,表的记录如下
field1               field2                                           field3
11                       项目(2006)计划                       dd  
22                       项目资料   (2005)   计划               ff
33                       全文搜索数据(2004)列表           gg


我想要得到   field2   中每个 "( "前的文字查询出来,单独作一个列   field_name,field2   中每个 "() "文字查询出来作为 "year ",这语句要怎么样写呀?
结果类似:
field1               field2                                           field3           field_name           year
11                       项目(2006)计划                       dd                   项目                       2006
22                       项目资料   (2005)   计划               ff                   项目资料               2005
33                       全文搜索数据(2004)列表           gg                   全文搜索数据       2004




------解决方案--------------------
select field1,field2, field3,field_name = substring(field2,1,charindex( '( ',field2)-1), year = substring(field2,charindex( '( ',field2),charindex( ') ',field2)-charindex( '( ',field2)) from table1