[英]How to select a column in SQL Server with a special character in the column name?
[英]How to select column name with special character for dynamic pivot - SQL Server
我在從SQL表中選擇列名中帶有“ <”的列時遇到問題。
這是用於SQL Server Management Server 2012。
當我使用以下代碼選擇列時,將獲得列列表。 列之一中有一個特殊字符“ <”。 該列的值為“ <2004”。
select NAME
from sys.columns
where object_id=OBJECT_ID('[table_name]')
and (NAME LIKE '2%' or NAME LIKE '< 2%')
但是,當我將此代碼用於動態樞軸時,它給我一個錯誤,提示:
消息207,第16級,州1,第7行
無效的列名“ <2004”。
動態數據透視的代碼:
DECLARE @Columns varchar(max)
SELECT @Columns =STUFF((
SELECT ',' + QUOTENAME(NAME)
FROM
(select NAME
from sys.columns
where object_id=OBJECT_ID('[table_name]')
and (NAME LIKE '2%' or NAME LIKE '< 2%') L
FOR XML PATH ('')),1,1,'')
我想看到一個輸出,其中動態樞軸也選擇其中帶有“ <”的列。 如果我在不添加條件“ <”(或名稱類似“ <2%”)的情況下嘗試代碼,則它可以完美運行。
非常感謝您提供任何幫助。
聲明@Columns varchar(max)=''
從sys.columns中選擇@Columns + =','+ QUOTENAME(NAME),其中object_id = OBJECT_ID('[Table_Name]')和(NAME LIKE'2%'或NAME LIKE'<2%')
SET @ Columns = STUFF(@ Columns,1,1,'')
選擇@Columns
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.