2017-05-18 39 views
1

我用批量插入從文本中導入數據:無法在包括Unicode字符表的SQL使用SELECT

BULK INSERT dbo.Infosp1 FROM 'D:\test.txt' WITH (FIELDTERMINATOR =',', ROWTERMINATOR ='\n', DATAFILETYPE='widechar') 

這是我的 'd:\ test.txt的'(由Endcoding得救的Unicode) :

BácHồng,GIA,3

BácHồng,禪師,2

BácHồng,Lơxanh,3

BácHồng,XA,3

BácHồng,的Ngao,5

BácHồng,Bắptàu,5

CôHòaBính,GIA,5

CôHòaBính,Càrốt,2

CôHòaBính, Chanh,2

---->This is my table. Click to show image

爲什麼使用INSERT顯示0結果??????:

SELECT * FROM dbo.Infosp1 WHERE Khach = 'BácHồng' 

SELECT * FROM dbo.Infosp1 WHERE Khach = 'CôHòaBính' 

---我認爲,大約有皈依數據類型的一些問題,因爲保存這個' D:\ test.txt'Endcoding:ANSI有一些錯誤,如:

BácHng,CôH?aBính。在其他情況下,當我的領域沒有錯誤類型我可以使用SELECT來顯示所有結果。我想有一個解決方案可以使它工作。

回答

1

嘗試在SQL Server的前面加上N到Unicode字符串:

SELECT * FROM dbo.Infosp1 WHERE Khach = N'BácHồng' 

SELECT * FROM dbo.Infosp1 WHERE Khach = N'CôHòaBính' 


例子:

create table Infosp1 (Khach nvarchar(64), FirstName nvarchar(64), SomeNumber int) 
insert into Infosp1 values 
(N'BácHồng',N'Giá',3) 
,(N'BácHồng',N'Hành',2) 
,(N'BácHồng',N'Lơxanh',3) 
,(N'BácHồng',N'Xả',3) 
,(N'BácHồng',N'Ngao',5) 
,(N'BácHồng',N'Bắptàu',5) 
,(N'CôHòaBính',N'Giá',5) 
,(N'CôHòaBính',N'Càrốt',2) 
,(N'CôHòaBính',N'Chanh',2) 

SELECT 'WithN' as WithOrWithoutN, * FROM dbo.Infosp1 WHERE Khach = N'BácHồng' 
union all 
SELECT 'WithoutN',* FROM dbo.Infosp1 WHERE Khach = 'BácHồng' 
union all 
SELECT 'WithN', * FROM dbo.Infosp1 WHERE Khach = N'CôHòaBính' 
union all 
SELECT 'WithoutN',* FROM dbo.Infosp1 WHERE Khach = 'CôHòaBính' 

rextester演示:http://rextester.com/WSNNX6950

回報:

+----------------+-----------+-----------+------------+ 
| WithOrWithoutN | Khach | FirstName | SomeNumber | 
+----------------+-----------+-----------+------------+ 
| WithN   | BácHồng | Giá  |   3 | 
| WithN   | BácHồng | Hành  |   2 | 
| WithN   | BácHồng | Lơxanh |   3 | 
| WithN   | BácHồng | Xả  |   3 | 
| WithN   | BácHồng | Ngao  |   5 | 
| WithN   | BácHồng | Bắptàu |   5 | 
| WithN   | CôHòaBính | Giá  |   5 | 
| WithN   | CôHòaBính | Càrốt  |   2 | 
| WithN   | CôHòaBính | Chanh  |   2 | 
| WithoutN  | CôHòaBính | Giá  |   5 | 
| WithoutN  | CôHòaBính | Càrốt  |   2 | 
| WithoutN  | CôHòaBính | Chanh  |   2 | 
+----------------+-----------+-----------+------------+