删除SQL Server中的字符串
在SQL Server中的我的表删除SQL Server中的字符串,sql,sql-server,replace,Sql,Sql Server,Replace,在SQL Server中的我的表Products中,我有一列urlink,其值如下所示: Id UrlLink ----------------------------------- 1 domain/product1.html?7 2 domain/product2.html?34 3 domain/product294.html?6576 4 domain/product54.html?765 如何删除
Products
中,我有一列urlink
,其值如下所示:
Id UrlLink
-----------------------------------
1 domain/product1.html?7
2 domain/product2.html?34
3 domain/product294.html?6576
4 domain/product54.html?765
如何删除参数
?7, ?34, ?6576, ?765
从列urlink
谢谢 使用
left
和charindex
应该可以:
select left(UrlLink, charindex('?',UrlLink)-1) from Products;
这将返回第一次出现
?
之前的所有内容。如果urlink列中的参数不是必需的,您可能需要添加一些空检查。使用left
和charindex
应该可以:
select left(UrlLink, charindex('?',UrlLink)-1) from Products;
这将返回第一次出现
?
之前的所有内容。如果参数在url链接列中不是必需的,您可能需要添加一些空检查。您只需在url中找到?
,并将字符串加上去即可。您可以使用LEFT
/SUBSTRING
获取子字符串,使用CHARINDEX
在字符串中查找?
。查看下面我的查询
select id, substring(urllink,1,charindex('?',urllink)-1)
from products
您只需在url中找到
?
,并将字符串添加到其中。您可以使用LEFT
/SUBSTRING
获取子字符串,使用CHARINDEX
在字符串中查找?
。查看下面我的查询
select id, substring(urllink,1,charindex('?',urllink)-1)
from products
要从表中的UrlLink列中删除查询字符串部分,需要在UPDATE语句中使用and
UPDATE Products
SET UrlLink = LEFT(UrlLink, CHARINDEX('?',UrlLink)-1)
要从表中的UrlLink列中删除查询字符串部分,需要在UPDATE语句中使用and
UPDATE Products
SET UrlLink = LEFT(UrlLink, CHARINDEX('?',UrlLink)-1)
请尝试使用以下代码:
DECLARE @myvar varchar(100);
SET @myvar = 'domain/product1.html?7';
SELECT REVERSE(SUBSTRING((REVERSE(@myvar)), (CHARINDEX('?',REVERSE(@myvar))+1),500)) AS result ;
GO
请尝试使用以下代码:
DECLARE @myvar varchar(100);
SET @myvar = 'domain/product1.html?7';
SELECT REVERSE(SUBSTRING((REVERSE(@myvar)), (CHARINDEX('?',REVERSE(@myvar))+1),500)) AS result ;
GO
如果有多个
?
符号出现在urlink
列值中,并且如果您想在最后一个?
符号之后取值,请选择。然后使用和的组合
查询
SELECT
[Id],
SUBSTRING([UrlLink], 1,
LEN([UrlLink]) - CHARINDEX('?', REVERSE([UrlLink]), 1)) AS [UrlLink]
FROM [Products];
如果
UrlLink
列值中有多个?
符号,并且如果要在最后一个?
符号之后取值,请执行以下操作。然后使用和的组合
查询
SELECT
[Id],
SUBSTRING([UrlLink], 1,
LEN([UrlLink]) - CHARINDEX('?', REVERSE([UrlLink]), 1)) AS [UrlLink]
FROM [Products];
- 简单,如果您有一个不包含
的?
,则不会失败李>urlink
- 如果有多个
将删除第一个?
中的所有内容,因为在URL中,这是唯一具有特殊意义的?
?
- 简单,如果您有一个不包含
的?
,则不会失败李>urlink
- 如果有多个
将删除第一个?
中的所有内容,因为在URL中,这是唯一具有特殊意义的?
?
谢谢@Colin Mackay!谢谢@Colin Mackay!