【问题标题】:Adding a letter X using concat or substring in SQL在 SQL 中使用 concat 或子字符串添加字母 X
【发布时间】:2021-11-11 01:00:05
【问题描述】:

所以这是我的查询部分:

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

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

【问题讨论】:

  • 你能写一个答案,我会接受吗?
  • 哈哈,我的评论不足以作为实际的“答案”,答案应该不仅仅是文档链接:) 但我认为这可能就是你所需要的。
  • concat()Image之前插入它:-select concat('copy \library\common\photos','X',Image,'.',ImageType)
  • @Squirrel 它会出现在图像前面

标签: sql sql-server substring concatenation


【解决方案1】:

解析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

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 2013-04-19
    • 2020-12-31
    • 1970-01-01
    • 2015-06-29
    • 2018-05-05
    • 2021-01-25
    • 2014-09-26
    • 1970-01-01
    相关资源
    最近更新 更多