gpt4 book ai didi

sql - 在 SQL 查询中动态选择列

转载 作者:行者123 更新时间:2023-12-02 17:22:00 25 4
gpt4 key购买 nike

我有一个数据库字段名称调用Code,我尝试使用如下所示的变量名称来选择它:

Declare @var1 = [Code]

(SELECT @var1
FROM [VoucherType]
WHERE [DeletedBy] IS NULL
AND [AutoID] = 1)

显然,SQL会将@var1解释为字符串而不是我数据库的字段,我怎样才能以这种方式将@var1识别为字段名称 [Code] 而不是可能没有任何 select 或 if 语句的字符串。

最佳答案

试试这个:

DECLARE @var1 VARCHAR(20)
DECLARE @sql VARCHAR(255)

SET @var1 = 'Code'
SET @sql = 'select ' + QUOTENAME(@var1) + ' from [VoucherType] where [DeletedBy] is null and [AutoID] = 1'

EXEC sp_executesql @sql

您必须编写动态查询,并使用 sp_executesql 执行

要在“动态”方面添加更多内容,请使用存储过程。请参阅此处的示例:

http://www.marten-online.com/database/execute-dynamic-sql-in-mssql.html

也就是说...如果您使用的是 Microsoft SQL SERVER

关于sql - 在 SQL 查询中动态选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com