sql - 如何在 SQL Server 中参数化带有特殊字符的查询?

标签 sql sql-server

我想执行一个连接两列的查询,所以我这样做了:

Select 
    Id, PtName + ' ('+Investigation+')' as PtName, Y, M, D, PtCode 
From 
    DiagMain

但是当我尝试参数化这个查询时,它不起作用。

像这样:

declare @Query nvarchar(MAX)

set @Query = 'Select Id, PtName + ''( +''Investigation''+ )'' as PtName, Y, M, D, Sex, PtCode FROM DiagMain'
Exec(@Query)

我在这里做错了什么?

最佳答案

您的单引号放错了位置,它们应该括在括号 ( & ):

set @Query = 'Select Id, PtName + ''('' +Investigation+ '')'' as PtName, Y, M, D, Sex, PtCode FROM DiagMain'

您可以使用 print 命令进行调试:

print @Query

关于sql - 如何在 SQL Server 中参数化带有特殊字符的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45729886/

相关文章:

php - 每天、每周、每月重置mysql表列

c# - 如何将 sql union 与连接查询一起使用

c# - 有没有办法捕获脚本在使用 SqlCommand 时生成的数据库消息?

SQL 按 id 分组的行总和

sql - GROUP BY 子句未显示所需结果

mysql - 无法过滤掉记录

sql - 在 SQL Server 2000 中查找存储过程名称及其内容

SQL Server - 更新表,其中 ID 在 SELECT 中?

sql-server - 无法删除 SQL Server 2005 中的尾随空格

mysql - MySQL 存储过程可以用于 Java 可以做的任何事情吗?