Sql 选择字符串并删除

Sql 选择字符串并删除,sql,trim,Sql,Trim,在以下示例中,我试图删除-以及-左侧的所有内容: 亚当斯马克-弗吉尼亚州安尼维尔大街1234号,邮编:12345 $string=explode-,亚当斯马克-弗吉尼亚州安尼维尔大街1234号,邮编12345; $string=trim$string[0] JS var s=亚当斯马克-弗吉尼亚州安尼维尔大街1234号,邮编12345; s=s.substring0,s.indexOf'-' 在T-SQL中,这将起作用 declare @foo varchar(60) = 'Adams Mark

在以下示例中,我试图删除-以及-左侧的所有内容:

亚当斯马克-弗吉尼亚州安尼维尔大街1234号,邮编:12345 $string=explode-,亚当斯马克-弗吉尼亚州安尼维尔大街1234号,邮编12345; $string=trim$string[0]

JS var s=亚当斯马克-弗吉尼亚州安尼维尔大街1234号,邮编12345;
s=s.substring0,s.indexOf'-'

在T-SQL中,这将起作用

declare @foo varchar(60) = 'Adams Mark - 1234 Main St, Anyville VA, 12345'
select substring(@foo,charindex('-',@foo,1)+1,len(@foo)-charindex('-',@foo,1) )

我照字面意思理解了你,并离开了前导空间。

我想你可以这样做。。。。我真的不知道你是什么意思,当你说你想删除我猜你是试图更新列无论如何,下面将提取你的实际数据所需的字符串

Declare @Var VARCHAR(100) = 'Adams Mark - 1234 Main St, Anyville VA, 12345'

SELECT RIGHT(@Var, LEN(@Var)- CHARINDEX('-', @Var))
结果字符串

编辑

试试这个:

SELECT SUBSTRING(colName, CHARINDEX(colName, '-') + 1, LEN(colName))
FROM table1;

我是第二个@dasblinkenlight。没有数据库名,很难给出答案trims、ltrim、rtrim、replace、mid。这是一个SQLdatabase@user12813. sql数据库没有帮助。是sql server吗?mysql?oracle?这只是数据中许多不同地址的一个示例。我希望它能给你字符串中第一次出现的“-”右边的所有字符串。如果你把这个字符串保存在一个列中,请看我在文章中的编辑。我总是忘记左右。我很久以前就学会了T-SQL。@Brad:人们说,如果你不这么做,你就会失去它:
SELECT RIGHT(Column_Name, LEN(Column_Name)- CHARINDEX('-', Column_Name))
FROM Table_Name
SELECT SUBSTRING(colName, CHARINDEX(colName, '-') + 1, LEN(colName))
FROM table1;