2012-10-02 57 views
0

我有一個問題,需要幫助,請給我一個建議。 我想通過報表插入從一個Oracle服務器到SQL Server數據庫:添加N'字符之前插入語句SQL Server 2005

SELECT * INTO ABC_temp SELECT * FROM DIM_PROVINCE 

在DIM_PROVINCE和ABC_temp有3列:PROVINCE_IDPROVINCE_NAMENOTE 的問題是它不能顯示越南語。在我搜索互聯網上的幫助後,每個人都表明我必須在INSERT語句之前使用N'字符。 那麼,我該如何替換這個陳述。

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

通過聲明波紋管:

SELECT * INTO ABC_temp SELECT * FROM DIM_PROVINCE 

謝謝!

+0

你的列類型是什麼? VARCHAR還是NVARCHAR? –

+0

請爲這兩個表提供架構。 –

+0

PROVINCE_ID:INT PROVINCE_NAME:NVARCHAR 注意:NVARCHAR – user1654046

回答

1

我不認爲你需要。

'N'用於表示該字符串是Unicode文本,所以如果在Oracle中的數據類型是unicode也有可能不是一個需要轉換(SQL Server會的隱式轉換從VARCHARNVARCHAR)。

否則,你可以投的值(見CAST and CONVERT (Transact-SQL)

+0

很好的答案。謝謝 – QCar

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中的語法。)