【问题标题】:How to make dynamic Query in SQL Server to my Scenario?如何在 SQL Server 中对我的场景进行动态查询?
【发布时间】:2017-06-25 21:47:44
【问题描述】:

当我执行下面的动态查询时,我得到了结果

[dbo].[spGetTotalSalesQuantity] @CustomerQuery=1,@DateFrom='2015-01-01 00:00:00',@DateTo='2015-12-31 23:59:59',@whereSql='tq.storeid=1001'

@whereSql='tq.storeid=1001'这个很重要

当我执行以下操作时,它会显示错误

[dbo].[spGetTotalSalesQuantity] @CustomerQuery=1,@DateFrom='2015-01-01 00:00:00',@DateTo='2015-12-31 23:59:59',@whereSql='tq.itemlookupcode=807424C0072'

@whereSql='tq.itemlookupcode=807424C0072' 在这部分显示错误。我应该在值之前和之后添加单引号。

如何像这样tq.itemlookupcode='807424C0072'前后添加单引号?

这是错误信息

Msg 102, Level 15, State 1, Line 23
Incorrect syntax near 'C0072'.

【问题讨论】:

    标签: sql sql-server stored-procedures dynamic-sql


    【解决方案1】:

    简单的双倍报价就可以解决问题

    @whereSql='tq.itemlookupcode=''807424C0072'''
    

    试试下面的选择

    select 'tq.itemlookupcode=''807424C0072'''
    

    你会得到类似的结果

    tq.itemlookupcode='807424C0072'
    

    【讨论】:

    • 没关系 :) @mohamedfaisal
    猜你喜欢
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 2017-01-11
    • 2017-05-16
    相关资源
    最近更新 更多