在MSSQL查询中替代单引号

时间:2016-06-10 17:16:35

标签: sql-server

我的问题可能很愚蠢。

我有一个不喜欢单引号的应用程序。 我想从该应用程序执行SQL查询。 当我形成我的SQL查询时,我不能使用单引号。 我正在寻找单引号的替代方法。 我在MicroSoft SQL 2012上。

示例,我的SQL就是这样,

SELECT name 
FROM People 
WHERE peopleId = '123'

但是我想写这个没有单引号, 我正在尝试下面的东西,

SELECT name 
FROM People 
WHERE peopleId = CHAR(39)123CHAR(39)

谢谢

2 个答案:

答案 0 :(得分:1)

如果它接受双引号......

SET QUOTED_IDENTIFIER ON GO

https://msdn.microsoft.com/en-us/library/ms174393.aspx

SET QUOTED_IDENTIFIERON时,标识符可以用双引号分隔,文字必须用单引号分隔。当SET QUOTED_IDENTIFIER为OFF时,不能引用标识符,并且必须遵循标识符的所有Transact-SQL规则。有关更多信息,请参阅数据库标识符。文字可以用单引号或双引号分隔。

答案 1 :(得分:1)

如果您的PeopleID或过滤器值最初是数值,则可以执行此操作。如果它不是数字我不知道。

SELECT name 
FROM People 
WHERE peopleId = CAST(123 AS VARCHAR(25))