我正在使用Postgresql数据库。在我的数据库中,有一个表mumbaipropertydetails
,其中一个列区域具有unicode数据。
当我执行查询时:
select mumbaipropertydetails."zone"
from mumbaipropertydetails;
它给出了这样的输出:
"\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947"
"\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947"
"\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947"
"\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947"
"\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947"
"\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947"
当我尝试执行另一个查询时:
select mumbaipropertydetails.taxno
from mumbaipropertydetails
where mumbaipropertydetails."zone"= "\u092A\u093F\u0902\u092A\u0930\u0940
\u0935\u093E\u0918\u0947\u0930\u0947";
它给出了这样的错误
NOTICE: identifier
"\u092A\u093F\u0902\u092A\u0930\u0940\u0935\u093E\u0918\u0947\u0930\u0947"
will be truncated to
"\u092A\u093F\u0902\u092A\u0930\u0940\u0935\u093E\u0918\u0947\u"
ERROR: column "\u092A\u093F\u0902\u092A\u0930\u0940
\u0935\u093E\u0918\u0947\u" does not exist
LINE 1: ...opertydetails where mumbaipropertydetails."zone"= "\u092A\u0...
^
********** Error **********
ERROR: column "\u092A\u093F\u0902\u092A\u0930\u0940
\u0935\u093E\u0918\u0947\u" does not exist
SQL state: 42703
Character: 99
我认为您在查询中混淆了单引号和双引号。
你应该像这样查询:
select mumbaipropertydetails.taxno
from mumbaipropertydetails
where
mumbaipropertydetails.zone
=
E'\u092A\u093F\u0902\u092A\u0930\u0940 \u0935\u093E\u0918\u0947\u0930\u0947';
"
'
\
)进行转义的字符串,在打开单引号之前必须使用字母E
,如上例所示。