【问题标题】:Using concatenation with exec使用与 exec 连接
【发布时间】:2020-03-29 00:42:41
【问题描述】:

我不熟悉使用 exec 和串联。我在关键字“BY”附近收到错误语法错误。我玩过移动引号,但没有运气。

exec('select'''+@tab_name+''','''+@col_name+''',max(len('+@col_name+')),'''+@col_name+''' from [ x3v7].[LIVE].'+@tab_name+'''Group BY'+@col_name+'''Having max(len('+@col_name+'))>12''')

【问题讨论】:

    标签: sql sql-server-2012


    【解决方案1】:
    exec('select  '+@col_name + ',max(len('+@col_name+')),'+@col_name+' from [x3v7].[LIVE].'+@tab_name+' Group BY '+@col_name+' Having max(len('+@col_name+'))>12')
    

    【讨论】:

    • 我正在传递 '+@tab_name+' 我可以将其存储在我的查询结果中,以便我从结果中看到与最大列和列名关联的表名。谢谢
    • 恐怕不可能:(
    • 只有代码的答案几乎总是可以通过添加一些关于它们如何工作以及为什么工作的解释来改进?
    • 欢迎来到 Stack Overflow!虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高帖子的质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案以添加解释并说明适用的限制和假设。 From Review
    猜你喜欢
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    相关资源
    最近更新 更多