这是我的查询。
select imgsrc from images where id = 1
这样的输出,
imgsrc
<img src="http://mypage/tiles/imgs/imgfilename.png"/>
但是我希望我的输出像imagefilename.png
一样,如果可能的话?
那么有可能我遵循什么方式来获得所需的输出。
请指导我。
先谢谢了。
答案 0 :(得分:3)
您可以创建一个UDF,该UDF在匹配并找到模式后返回名称。
CREATE FUNCTION ufcGetImageName(@imageSrc varchar(200))
RETURNS varchar(200)
AS
BEGIN
DECLARE @position INT
/* here it will fetch the image source followed by any other image attributes*/
SET @position = CHARINDEX('src="', @imageSrc) + 5
SET @imageSrc = SUBSTRING(@imageSrc, @position, LEN(@imageSrc))
/* here it wil fetch only the image url leaving other image attributes*/
SET @position = CHARINDEX('"', @imageSrc)
SET @imageSrc = SUBSTRING(@imageSrc, 0, @position)
/* here it will fetch the image name alone */
SET @position = CHARINDEX('/', reverse(@imageSrc))
SET @imageSrc = SUBSTRING(reverse(@imageSrc), 0, @position)
RETURN reverse(@imageSrc)
END;
并通过任何查询进行呼叫
SELECT
imgSrc as imagesrc,
dbo.ufcGetImageName(imgSrc) AS imagename
FROM
images;
这里是demo