电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

nvarchar和varchar的转换问题


发布日期:2024/5/5
 

java编程将表中的nvarchar记录导出存储到xml文件中利用xdk的函数导出后发现xml文件中存储的表中的nvarchar字段中的中文变成了二进制码再将xml文件导入时报错所以我想将nvarchar先转换成varchar类型导出后再将varchar导回到nvarchar类型导入请教两种类型的转换函数时什么?

SpecifyingtheUSINGCHAR_CSargumentconvertstextintothedatabasecharactersetTheoutputdatatypeisVARCHAR

SpecifyingtheUSINGNCHAR_CSargumentconvertstextintothenationalcharactersetTheoutputdatatypeisNVARCHAR

Example

CREATETABLEt(char_colCHAR()

nchar_colnchar());

INSERTINTOt

VALUES(HiNBye);

SELECT*FROMt;

CHAR_COLNCHAR_COL

HiBye

Example

UPDATEtSET

nchar_col=TRANSLATE(char_colUSINGNCHAR_CS);

UPDATEtSET

char_col=TRANSLATE(nchar_colUSINGCHAR_CS);

SELECT*FROMt;

CHAR_COLNCHAR_COL

HiHi

Example

UPDATEtSET

nchar_col=TRANSLATE(deoUSINGNCHAR_CS);

UPDATEtSET

char_col=TRANSLATE(NdeoUSINGCHAR_CS);

SELECT*FROMt;

CHAR_COLNCHAR_COL

deodeo

表不多的话可以这样

//创建一个新表并把数据转换为varchar

createtablenewtbnameasselectcoltranslate(colusingchar_cs)colfromtbname;

renametbnametotbname_temp;//将原先的表重新命名

renamenewtbnametotbname;//把新创建的表改名为原先的表名

这样就转换过来了

作完后把tbnamedrop掉renametbname_temptotbname就行了

这样应该可以解决问题

上一篇:正规化的表格设计能提升应用性能(一)

下一篇:分区表、分区索引和全局索引部分总结