Tsql 仅从Url中获取文件名
我试图在这里获取.aspx文件名的子字符串,但不太确定如何进行 所以我不需要文件路径,只需要文件名: e、 g 我只需要一个页面。aspx你可以Tsql 仅从Url中获取文件名,tsql,Tsql,我试图在这里获取.aspx文件名的子字符串,但不太确定如何进行 所以我不需要文件路径,只需要文件名: e、 g 我只需要一个页面。aspx你可以 ;with EG(fn) as ( select 'http://somesite.com/directory1/directory2/SomePage.aspx' union select '' union select '/xxx.php' ) select right(fn, charindex('/', rev
;with EG(fn) as (
select 'http://somesite.com/directory1/directory2/SomePage.aspx' union
select '' union
select '/xxx.php'
)
select
right(fn, charindex('/', reverse(fn) + '/') - 1)
from EG
-------------
xxx.php
SomePage.aspx
(第一次出现/在反向url中;添加/以处理空/无斜杠字符串)您可以
;with EG(fn) as (
select 'http://somesite.com/directory1/directory2/SomePage.aspx' union
select '' union
select '/xxx.php'
)
select
right(fn, charindex('/', reverse(fn) + '/') - 1)
from EG
-------------
xxx.php
SomePage.aspx
(在反向url中第一次出现/;添加/以处理空/无斜杠字符串)您是否正在寻找T-SQL语法来获得此结果,例如“从FileTable Where{whereclause}中选择{filename}”?是的。我正在尝试选择一个表字段的子字符串。我认为这会起作用,但问题是一些charindex返回了一个零,所以当它对0执行-1操作时,它会爆炸。我需要处理零个案例,并且不向其中添加-1。从条目中选择右键(名称,(charindex('/',反向(名称))-1)。Charindex在一种情况下返回零,因为Name为emptyyou可以在Charindex函数周围抛出IF语句,以确保处理前结果大于或等于1。使该部分相当长,但它完成了任务。您是否正在寻找T-SQL语法来实现这一点,如“从FileTable Where{whereclause}中选择{filename}”?是的。我正在尝试选择一个表字段的子字符串。我认为这会起作用,但问题是一些charindex返回了一个零,所以当它对0执行-1操作时,它会爆炸。我需要处理零个案例,并且不向其中添加-1。从条目中选择右键(名称,(charindex('/',反向(名称))-1)。Charindex在一种情况下返回零,因为Name为emptyyou可以在Charindex函数周围抛出IF语句,以确保处理前结果大于或等于1。使该部分相当长,但它完成了任务。是的,尝试了从条目中选择正确的(e.Name,charindex(“/”,reverse(e.Name))-1),并将无效的长度参数传递到正确的函数。您需要添加一个/来说明没有/的字段<代码>。。。reverse(e.Name)+“/”)yea尝试从条目中选择右键(e.Name,charindex(“/”,reverse(e.Name))-1)并将无效的长度参数传递到右键函数。您需要为没有/”的字段添加一个/<代码>。。。反向(例如名称)+'/')