UniteModule表里有个name的字段VARCHAR2(400)类型
我要将name转换成NVARCHAR2类型
但是
运行
select b.name,cast(b.NAME AS NVARCHAR2(400)) as name2 from UniteModule b
后,部分数据会发生字符丢失的情况
比如
name name2
孟兰节 孟兰节
苦难耶穌圣像巡游 苦难耶穌圣像巡游
醉龙节
民俗风 民俗风情
澳门年 澳门年俗
何解?
我要将name转换成NVARCHAR2类型
但是
运行
select b.name,cast(b.NAME AS NVARCHAR2(400)) as name2 from UniteModule b
后,部分数据会发生字符丢失的情况
比如
name name2
孟兰节 孟兰节
苦难耶穌圣像巡游 苦难耶穌圣像巡游
醉龙节
民俗风 民俗风情
澳门年 澳门年俗
何解?
结果贴出来还有就是你贴出的执行结果有问题吧 民俗风怎么变成了民俗风情呀 怎么变多了 没有问题吗?把正确的执行结果贴出来
name name
孟兰节 孟兰节
苦难耶穌圣像巡游 苦难耶穌圣像巡游
醉龙节
民俗风情 民俗风
澳门年俗 澳门年是这样的,转换后少了部分字符,有的又正常select * From nls_database_parameters
结果如下
1 NLS_LANGUAGE AMERICAN
2 NLS_TERRITORY AMERICA
3 NLS_CURRENCY $
4 NLS_ISO_CURRENCY AMERICA
5 NLS_NUMERIC_CHARACTERS .,
6 NLS_CHARACTERSET AL32UTF8
7 NLS_CALENDAR GREGORIAN
8 NLS_DATE_FORMAT DD-MON-RR
9 NLS_DATE_LANGUAGE AMERICAN
10 NLS_SORT BINARY
11 NLS_TIME_FORMAT HH.MI.SSXFF AM
12 NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
13 NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
14 NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
15 NLS_DUAL_CURRENCY $
16 NLS_COMP BINARY
17 NLS_LENGTH_SEMANTICS BYTE
18 NLS_NCHAR_CONV_EXCP FALSE
19 NLS_NCHAR_CHARACTERSET AL16UTF16
20 NLS_RDBMS_VERSION 10.2.0.1.0
19 NLS_NCHAR_CHARACTERSET AL16UTF16 这两个字符集是不一样的,也就是说在UTF8下的字符在UTF16下可能并不认识具体字符集哪些兼容哪些不兼容这个我就不太清楚了