我在oracle关键词和保留词的列表上搜索得很长,但是没有用。
u''
部分是什么意思?
我一直在尝试将Oracle数据库对象转换为PostgreSQL。我遇到了一个语句Coalesce(some_field,u'')
,这个语句在Postgres中返回语法错误
如果参数都没有返回任何非null值,则假定Coalesce返回null。但是在执行select u'' from dual
时,我可以看到结果为null。我不确定他们为什么把它包含在Coalesce(some_field,u'')
声明中。
如果声明中根本不存在u''
部分,那么假设该声明是否可行是否安全?
我见过面的人,完全否认在oracle中存在这种用法u''
谷歌搜索结果并没有成果,因为我不知道这个概念。
注意:
但在执行select Coalesce('sampleee text',u'') from dual
我收到以下错误:
ORA-12704: character set mismatch
12704. 00000 - "character set mismatch"
但是在执行select Coalesce(u'sampleee text',u'') from dual
时,我得到'sampleee text'作为结果并且没有错误......
所以我怀疑它与类型转换到unicode字符集有关。但我可能错了。
A̶n̶y̶̶O̶r̶a̶c̶l̶e̶r̶s̶/̶T̶O̶M̶(̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶̶
更新
似乎你是一个前缀来表示该字符串包含Unicode字符串... select chr(222),u'\00DE' from dual;
refer this
我很感谢任何PostgreSQL粉丝向我推荐一种将其转换为Postgres的替代解决方案