oracle XMLTYPE字段检索中对字符串的比较失效? 我在XMLTYPE字段检索中用了existNodes函数,在xpath表达式中希望比较日期,但似乎没有日期比较函数,只好用字符串比较来代替,如晚于“2004-01-01”使用 //*[字段〉"2004-01-01"],但结果什么都没检索到,为啥? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 字段 > to_date('2004-01-01','yyyy-mm-dd') 在sqlplus或pl/sql中试一下:select sysdate from dual;select sysdate-10 from dual;select sysdate-to_date('2004-01-01','yyyy-mm-dd') from dual; 都是以字符串存储的,所以字符比较好了。 FYI:-- XML Source File<company CID="1"> <ID>0001</ID> <NAME>ORACLE</NAME> <COUNTRY CTID="1"> <COUNTRY_CODE>USA</COUNTRY_CODE> <COUNTRY_CODE>CHINA</COUNTRY_CODE> <COUNTRY_CODE>UK</COUNTRY_CODE> </COUNTRY> </company>SQL> UPDATE XMLCONTENT 2 SET xmlvalue = updateXML(xmlvalue,'/company/NAME/text()','mantisXF') 3 WHERE XMLID = 1 4 AND EXISTSNODE(xmlvalue,'/company[NAME="ORACLE"]') = 1;1 row updatedSQL> COMMIT;Commit completeSQL> SELECT EXTRACT(XMLVALUE,'/company/NAME/text()').getStringVal() 2 FROM XMLCONTENT 3 WHERE XMLID = 1;EXTRACT(XMLVALUE,'/COMPANY/NAM--------------------------------------------------------------------------------mantisXF 我是希望在xpath中用字符串比较函数,‘=’可以‘>’‘<’不行,好怪 游标变量不能定义参数和传参数的吗? Freebsd7.0安装 SQL如何产生一组总和固定的随机数? 求助关于oo4o的操作 求SGA设置 用proc预编译后的.c文件在vs2005下link出错。 Management Server 启动不了 问高手一个问题????关于查询! 关于两个一摸一样的表的查询是否有跟好的方法? oracle的时间修改问题 ORA-00907: 缺失右括号 求提高Oracle分区表查询效率的方法
select sysdate-10 from dual;
select sysdate-to_date('2004-01-01','yyyy-mm-dd') from dual;
<company CID="1">
<ID>0001</ID>
<NAME>ORACLE</NAME>
<COUNTRY CTID="1">
<COUNTRY_CODE>USA</COUNTRY_CODE>
<COUNTRY_CODE>CHINA</COUNTRY_CODE>
<COUNTRY_CODE>UK</COUNTRY_CODE>
</COUNTRY>
</company>
SQL> UPDATE XMLCONTENT
2 SET xmlvalue = updateXML(xmlvalue,'/company/NAME/text()','mantisXF')
3 WHERE XMLID = 1
4 AND EXISTSNODE(xmlvalue,'/company[NAME="ORACLE"]') = 1;1 row updatedSQL> COMMIT;Commit completeSQL> SELECT EXTRACT(XMLVALUE,'/company/NAME/text()').getStringVal()
2 FROM XMLCONTENT
3 WHERE XMLID = 1;EXTRACT(XMLVALUE,'/COMPANY/NAM
--------------------------------------------------------------------------------
mantisXF