在 SQL 中使用 concat 或子字符串添加字母 X

Adding a letter X using concat or substring in SQL

所以这是我查询的部分:

select concat('copy \library\common\photos\',Image,'.',ImageType)

查询结果将是这样的:

copy \library\common\photos\{tuesday}_1pm\{tuesday}_1_ggc9070bsgdg763013a06a54b9bf54e5.png

我对这个查询的逻辑工作原理有点困惑,它只是将图像扩展类型添加到同一文件夹中的图像末尾。有什么办法可以从图像中输入像 A 或 B 这样的字母吗?

所以查询结果将是这样的:

copy \library\common\photos\{tuesday}_1pm\X{tuesday}_1_ggc9070bsgdg763013a06a54b9bf54e5.png

我可以使用子字符串在前面添加额外的字母吗?

解析Image并拆分为文件路径和文件名。然后使用 concat() 连接成所需的字符串,并在

之间插入 X
select  concat('copy \library\common\photos', ImagePath, 'X', ImageName, '.', ImageType)
from    yourtable
cross apply
(
    select  ImagePath = left(Image, p + 1),
            ImageName = right(Image, len(Image) - p - 1)
    from    (
                select  p = len(Image) - charindex('\', reverse(Image))
            ) p 
) p