【问题标题】:CONCAT last number in column in a stringCONCAT 字符串中列中的最后一个数字
【发布时间】:2023-04-02 16:41:01
【问题描述】:

我正在尝试创建一个CONCAT(),它获取exp_id 列中的最后一个数字,然后添加文件名以显示为单独的列。该列将显示以下内容。

copy \\\resfs\reo\reoexps\87\5\7040445i.pdf C:\temp\images 
CONCAT('copy \\\resfs\reo\reoexps\87\',', SUBSTRING(exp_id, 1,CHAR_LENGTH(exp_id) -1) '\', file_name, 'C:\temp\images') AS D,


【问题讨论】:

    标签: mysql sql mysql-workbench concat string-concatenation


    【解决方案1】:

    反斜杠 (\) 用作转义字符。在需要文字反斜杠的地方使用双反斜杠 (\\):

    CONCAT('copy \\\\resfs\\reo\\reoexps\\87\\', SUBSTRING(exp_id, 1, CHAR_LENGTH(exp_id) -1), '\\', file_name, 'C:\\temp\\images') AS D
    

    【讨论】:

    • 出于某种原因说:错误代码:1583,调用本机函数'CONCAT'中的参数不正确
    • select CONCAT('copy \\\\resfs\\reo\\reoexps\\87\\', SUBSTRING(exp_id, 1,CHAR_LENGTH(exp_id) -1) '\\', file_name , 'C:\\temp\\images') AS D from resnet.property_exps as pe
    【解决方案2】:

    试试这个:

    CONCAT('copy ','\\','\\','\\','resfs\\reo\\reoexps\\87\\', SUBSTRING(CAST(exp_id AS char), 1,CHAR_LENGTH(exp_id) -1),'\\', file_name, ' C:\\temp\\images') AS D
    

    【讨论】:

    • 当我尝试这个时,SQL 返回“BLOB”
    • 查看此处stackoverflow.com/a/18841385/7416478,并尝试转换为 char。
    • 我应该如何转换为一个 CHAR,然后在同一个 concat 函数中执行一个子字符串?我很困惑。
    • CONCAT('copy ','\\','\\','\\','resfs\\reo\\reoexps\\87\\', CAST(pe.exp_id AS CHAR), SUBSTRING(pe.exp_id, 1,CHAR_LENGTH(pe.exp_id) -1),'\\', pe.file_name, 'C:\\temp\\images') AS D,
    猜你喜欢
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多