sql - 如何使用字符串构建查询获取记录在古吉拉特语中有一个列标题?
问题描述
我在下面的字符串构建查询中遇到问题。当我执行查询时,它在列标题中打印为??????
. 我想要古吉拉特语的列标题,只有下面的查询(字符串构建查询)。
declare @Query1 varchar(max)
SET @Query1 ='
select RefNo as N'આવક સંદર્ભ'
from Test where 1=1'
print (@Query1)
exec (@Query1)
如果我在下面写简单的查询并执行它比它完美的工作并且我的列标题在古吉拉特语中显示得很好。
select RefNo as N'આવક સંદર્ભ'
from Test where 1=1.
谢谢。
解决方案
使用nvarchar()
:
declare @Query1 nvarchar(max);
SET @Query1 = N'
select RefNo as N''આવક સંદર્''
from Test where 1=1'
print (@Query1)
exec (@Query1);
这是一个 db<>fiddle。
我建议您像这样编写查询:
declare @Query1 nvarchar(max);
SET @Query1 = N'
select RefNo as [આવક સંદર્]
from Test
where 1=1'
print(@Query1)
exec sp_executesql @Query1;
有两个原因:
- 仅对字符串和日期常量使用单引号。不要将它们用于列名。
- 作为一般规则使用
sp_executesql
,因此您始终可以根据需要传入参数。
推荐阅读
- snowflake-cloud-data-platform - Snowflake insert date error, are lowercase field names and field names with only initial capital letters considered to be the same field name?
- maxima - Is there a way to force code to be run inside maxima block?
- c# - How to configure a separately hosted message broker with MassTransit
- python - How to use pandas.to_sql but only add row if row doesn't exist yet
- c# - Getting a "Common Language Runtime detected an invalid program." error when trying to map ReadUnaligned using DynamicMethod and ILGenerator
- amazon-web-services - How to update aws elasticsearch access policy from serverless.yaml configuration?
- ruby-on-rails - Web pages without refreshing
- python - 使用 pandas 删除句子后面/里面的所有内容
- algorithm - Best Hash Algorithm for Cache purposes?
- python - 在 Python 中使用 Selenium 从“结果页面”中提取结果