oracle 截取字符 如何不将汉字截成两端 oracle we8iso8859p1字符集下 截取字符串 ,如何保证没有将一个汉字截成两端 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用substr可以保证截取出的都为完整字符啊。 我用的是substr,还是不行,这个字符集下,length和lengthb显示的字符长度是相同的,substr 截取的也是单个字节 SQL> select lengthb('花'), length('花'), substr('花',1,1),substr('花',2,1) from dual; LENGTHB('花') LENGTH('花') SUBSTR('花',1,1) SUBSTR('花',2,1)------------- ------------ ---------------- ---------------- 2 2 SQL> select lengthb('花'), length('花'), substr('花',1,1),substr('花',2,1) fromdual;LENGTHB('花') LENGTH('花') SU S------------- ------------ -- - 2 1 花 你这个是在ZHS16GBK字符集下执行的我的是在WE8ISO8859P1字符集下 -- 你的不行,是因为你的数据库的we8iso8859p1字符集不支持中文吧,所以会产生乱码!-- 或者是你的客房端的问题,去查查相关资料。这并不是你的substr()函数的问题! 不知道你这个字符集是什么东东如果不是字符集问题实在想实现就写个函数,判断当前是不是截取一半汉字,是的话长度加1func_spilt(需要截取的字符串,起始位置,长度)起始位置从0开始下个起始位置从“起始位置+长度”依此类推 vs2010连接oracle的数据库连接类写在哪 关于数据库的创建和连接问题 请问为什么本地NET服务名配置测试通过了,却登陆不了PLSQL 查询oracle数据库,多重子查询,结果某些字段的值丢了 oracle中job的用法 oracle复制并修改数据 索引和表连接问题 如何删除指定表操作 哪位XDJM有Developer 2000,或知道下载的地址,小弟不胜感激 请问高手:end-of-file on communition channel错误怎末处理? 高手请进,谢谢!!! oracle的em启动不了
LENGTHB('花') LENGTH('花') SUBSTR('花',1,1) SUBSTR('花',2,1)
------------- ------------ ---------------- ----------------
2 2
------------- ------------ -- -
2 1 花
我的是在WE8ISO8859P1字符集下
-- 或者是你的客房端的问题,去查查相关资料。这并不是你的substr()函数的问题!
如果不是字符集问题
实在想实现就写个函数,判断当前是不是截取一半汉字,是的话长度加1
func_spilt(需要截取的字符串,起始位置,长度)
起始位置从0开始下个起始位置从“起始位置+长度”
依此类推