【发布时间】:2013-06-27 22:28:04
【问题描述】:
基本上,我试图从捕获整个路径的列中获取文件名。在数据库刷新之前,下面的 select 语句实际上是有效的。现在它失败了,因为最近没有上传任何文件。
这是我得到的错误: 错误:传递给 RIGHT 函数的长度参数无效。
SELECT right(batch_ID, CHARINDEX('\', REVERSE(batch_ID)) - 1) AS [File Name]
from
table1
请帮我弄清楚如何更改语句,以便如果存在空值或 charindex 找不到 '\',它仍然可以工作。
谢谢!
【问题讨论】:
-
在你反转它之前将反斜杠添加到batch_id:
SELECT right(batch_ID, CHARINDEX('\', REVERSE('\' + batch_ID)) - 1)
标签: sql sql-server string