我想提取一行的某个部分。如果有这样的东西......" abcd - productA"," zas1234 - productC",如何在破折号( - )之前提取所有内容?
我尝试了左(列名,' - ')它没有用。我在SQL Server 2012上。
我尝试提取的列是varchar列。
如果有人可以帮助我,那就太棒了。
答案 0 :(得分:1)
试试这个,
select SUBSTRING(column_name, 1, CHARINDEX('-', column_name)-1) from table_name;
答案 1 :(得分:0)
DECLARE @varStr VARCHAR(MAX) SET @ varStr ='abcd - productA'
SELECT CHARINDEX(' - ',@ varStr)
SELECT LEFT(@ varStr,CHARINDEX(' - ',@ varStr)-1)