在插入语句SQL Server 2005之前添加N'字符

时间:2012-10-02 02:02:58

标签: sql sql-server

我有一个需要帮助的问题,请给我一个建议。 我想通过语句将数据库从一个Oracle服务器插入到SQL服务器:

SELECT * INTO ABC_temp SELECT * FROM DIM_PROVINCE

在DIM_PROVINCE和ABC_temp中有3列:PROVINCE_IDPROVINCE_NAMENOTE 问题是它无法显示VietNamese语言。在网上寻求帮助之后,每个人都表明我必须在INSERT语句之前使用N'字符。 那么,我该如何替换这句话。

INSERT INTO ABC_temp values (N’abc,N’abc,N’abc)

声明如下:

SELECT * INTO ABC_temp SELECT * FROM DIM_PROVINCE

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为你不需要。

'N'用于表示字符串是unicode文字,因此如果Oracle中的数据类型也是unicode,则可能不需要转换(SQL Server从{{进行隐式转换) 1}}到VARCHAR)。

否则,您可以投射值(请参阅CAST and CONVERT (Transact-SQL)

答案 1 :(得分:0)

你把N放在单引号之外。

INSERT INTO ABC_temp values (N'abc', N'abc', N'abc')

SQL语句应遵循以下语法:

insert into ABC_temp
select * from DIM_PROVINCE

(在SQL Server中,您就是这样做的。我不确定Oracle中的语法。)