【问题标题】:How to create a temporary table with a column containing special characters?如何使用包含特殊字符的列创建临时表?
【发布时间】:2021-06-16 09:01:29
【问题描述】:

我正在使用SQL Server 2014,我需要创建一个临时表,其中只有一列包含特殊字符列表。

我的T-SQL 查询如下:

USE [MyDatabase]

create table #t1 
( 
    
    SpecialCharacters nvarchar (255) NOT NULL
    
); 

INSERT INTO #t1

VALUES ( 

'@',
'&',
'\',
'?',
'/',
':',
';',
'.',
',',
'0','1','2','3','4','5','6','7','8','9'
)

运行上述代码时,我收到以下错误消息:"Column name or number of supplied values does not match table definition."

代码有什么问题?

任何帮助将不胜感激。

【问题讨论】:

  • 您的 VALUES 子句有 20 列,但您的表 SpecialCharacters 只有 1 列。错误告诉你问题所在。

标签: sql-server tsql special-characters


【解决方案1】:

应该是:

create table #t1 
( 
    SpecialCharacters char(1) NOT NULL
); 

INSERT INTO #t1(SpecialCharacters)
VALUES 
('@'),
('&'),
('\'),
('?'),
('/'),
(':'),
(';'),
('.'),
(','),
('0'),
('1'),
('2'),
('3'),
('4'),
('5'),
('6'),
('7'),
('8'),
('9');

虽然列名[SpecialCharacters] 不是必需的,但最好是明确的。

【讨论】:

    最近更新 更多