求sql截取语句 从左侧开始截取到固定字段

例如:数据库内下列信息在clip表中的strname字段:
科技苑_20020428_播出版5F357739-D41A-4585-BA8E-5391E9248572.wav
聚焦三农_20050412_播出版63457731-741A-4115-B48K-5391E92W342A.wav
生活567_20120215_播出版63457731-741A-4115-B48K-5391E92W342A.wav
要求查询结果为:
科技苑_20020428_播出版
聚焦三农_20050412_播出版
生活567_20120215_播出版

select substring(strname,0,len(strname)-len(5F357739-D41A-4585-BA8E-5391E9248572.wav) )as strname from clip

len(5F357739-D41A-4585-BA8E-5391E9248572.wav) 这个可以自己数一下长度 改为数字40
如:select substring(strname,0,len(strname)-40) as strname from clip
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-20
可是使用substring(str,len)函数,其中str为源字符串,len为截取的位长追问

我截取的长度不定啊,只是截取的最后都是_播出版

有办法实现吗?

追答

这样你可结合charindex(str1,str2)来做,charindex是在str2中找str1,返回它的位置,你可以在这个里面找出‘版’的位置,再它后面的都截掉,思路就是这样,想不通再问

相似回答