关于PB string类型取值长度的问题

李哈哈 2016-04-06 11:06:22
直接看后面,前面是个字符串。
string ls_ll
int mm
ls_ll = '<test id="Z00100514_15">  <code>Z0010051415</code>  <name>尿液分析+尿沉渣镜检</name>  <specimen/>  <date>20120420</date>  <test_items> <test_item> <code>1645868</code> <name>葡萄糖</name><value>-     0</value> <unit>mmol/L</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645869</code> <name>尿胆原</name><value>2+   68</value> <unit>μmol/L</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645870</code> <name>胆红素</name><value>-     0</value> <unit>μmol/L</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645871</code> <name>酮体</name><value>-     0</value> <unit>mg/L</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645872</code> <name>比重</name><value>1.015</value> <unit></unit><reference_value1></reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645873</code> <name>潜血</name><value>-     0</value> <unit>mg/L</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645874</code> <name>酸碱度</name><value>6.0</value> <unit></unit><reference_value1></reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645875</code> <name>蛋白质</name><value>-     0</value> <unit>g/L</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645876</code> <name>亚硝酸盐</name><value>-</value> <unit></unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645877</code> <name>白细胞</name><value>-     0</value> <unit>leu/uL</unit><reference_value1>阴性(-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645878</code> <name>抗坏血酸</name><value>0</value> <unit>mmol/L</unit><reference_value1>(阴性-)</reference_value1><reference_value2></reference_value2><indicator></indicator></test_item> <test_item> <code>1645879</code> <name>镜检白细胞</name><value>-</value> <unit>/HP</unit><reference_value1></reference_value1><reference_value2></reference_value2><indicator></indicator></test_item></test_items></test>'

mm = len(ls_ll) = 2631(里面原本有几个星星,不让提交,我就删了)

这是oracle数据库里面一个表中的一列值,类型是 SYS.XMLTYPE,如果用select RECORD_CONTENT into :ls_ll from in_lab_cont where in_patient_flow = :ls_patient_flow using SQLCB;

这是 mm=len(ls_ll) = 2000,也就是只能取2000个长度,后面的取不到,有大神知道是咋回事吗?按说string类型长度不止2000吧
...全文
1095 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
李哈哈 2016-04-08
  • 打赏
  • 举报
回复
引用 1 楼 xiajinxian 的回复:
用selectblob试一下 Blob Emp_id_pic SELECTBLOB Emp_pic INTO :Emp_id_pic FROM Employee WHERE Employee.Emp_Num = 100 USING Emp_tran ; messagebox('',string(Emp_id_pic,encodingansi!))
不用读取了,我找到了一个函数,可以直接解析xml里面的值,然后再循环截取就能得到了 select i1.record_content.extract('//test/test_items/test_item/code').getStringVal() as enname from in_lab_cont i1 where in_patient_flow = :ls_patient_flow using sqlcb; 这样出来的值是<name>value</name>的格式,需要手动把前后的截取掉。 就你自己回答了 分就给你吧
李哈哈 2016-04-06
  • 打赏
  • 举报
回复
引用 1 楼 xiajinxian 的回复:
用selectblob试一下 Blob Emp_id_pic SELECTBLOB Emp_pic INTO :Emp_id_pic FROM Employee WHERE Employee.Emp_Num = 100 USING Emp_tran ; messagebox('',string(Emp_id_pic,encodingansi!))
我试了下, int mm blob bs_xml select blob record_content into : bs_xml from in_lab_cont where lab_flow = 'Z00100514_15' using SQLCB; mm = len(bs_xml) 这样取不到值
A啦Dbit 2016-04-06
  • 打赏
  • 举报
回复
用selectblob试一下 Blob Emp_id_pic SELECTBLOB Emp_pic INTO :Emp_id_pic FROM Employee WHERE Employee.Emp_Num = 100 USING Emp_tran ; messagebox('',string(Emp_id_pic,encodingansi!))

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧