- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 MYSQL 与 EXTRACTVALUE 命令一起使用,下面的代码在使用“<”小于运算符时返回 NULL。但“>”大于运算符按预期工作。为什么?
select EXTRACTVALUE('<TrackerQuery>
<Column>*</Column>
<View> view_sms_speqs</View>
<Filters>
<Filter>
<FilterColumn>DateTested</FilterColumn>
<FilterOperator><</FilterOperator>
<FilterValue>2019-04-18</FilterValue>
</Filter>
</Filters>
</TrackerQuery>', CONCAT('//TrackerQuery//Filters//Filter[', 1, ']//FilterOperator'));
最佳答案
问题是内容<tag><</tag>
无效,导致 NULL
被退回。 EXTRACTVALUE
的文档中提到了这一点:
NULL
is returned ifxml_frag
contains elements which are not properly nested or closed, and a warning is generated, as shown in this example: [...]
您将在以下示例中看到,当您使用 <
时出现错误/警告作为内容,因为它看起来像是新 XML 元素的开始。
mysql> SELECT EXTRACTVALUE('<abc><def><</def></abc>', '//abc//def');
+-------------------------------------------------------+
| EXTRACTVALUE('<abc><def><</def></abc>', '//abc//def') |
+-------------------------------------------------------+
| NULL |
+-------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql> SHOW WARNINGS;
+---------+------+-------------------------------------------------------------------------------------------+
| Level | Code | Message |
+---------+------+-------------------------------------------------------------------------------------------+
| Warning | 1525 | Incorrect XML value: 'parse error at line 1 pos 13: '<' unexpected (ident or '/' wanted)' |
+---------+------+-------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
够有趣的,值<
没有按预期工作。
mysql> SELECT EXTRACTVALUE('<abc><def><</def></abc>', '//abc//def');
+----------------------------------------------------------+
| EXTRACTVALUE('<abc><def><</def></abc>', '//abc//def') |
+----------------------------------------------------------+
| < |
+----------------------------------------------------------+
1 row in set (0.00 sec)
但是当你将它放入 CDATA block 时,你将得到正确的值。
mysql> SELECT EXTRACTVALUE('<abc><def><![CDATA[<]]></def></abc>', '//abc//def');
+-------------------------------------------------------------------+
| EXTRACTVALUE('<abc><def><![CDATA[<]]></def></abc>', '//abc//def') |
+-------------------------------------------------------------------+
| < |
+-------------------------------------------------------------------+
1 row in set (0.00 sec)
关于MYSQL EXTRACTVALUE 与 "<"小于运算符返回 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55764551/
我有一个类似 XML 的 John Doe 包含变量的表,例如 object_name := "name", object_surname = "sname"和 MySQL 查询一
我正在尝试从 MySQL/MariaDB 的表中的 XML 中选择节点的值 根据 MySQL 文档,following-sibling在 MySQL 中不支持作为 XPath 轴。有替代方案吗? 文档
谁能帮我显示拥有一只值(value) 250 美元的鸟的客户的客户名称和客户 ID?我似乎能弄清楚这一点。 这是一个无效的解决方案: Select extractValue(datax, '/cl
范围:使用MYSQL中的ExtractValue()解析xml数据。 面临的问题:ExtractValue() 没有给出所需的输出。 示例, 对于输入xml(列名-xml), 123 ExtractV
我有一个这样的消息 xml sds 我需要一个选择查询来满足哪个 xml 具有 id="31"属性值我只是将 id 值传递给选择查询 select * from table where Extract
我有一项可能令人羡慕的任务,即编写数据迁移查询以使用添加到生产数据库表中的新列的值填充现有记录。该表的某处大约有 200,000 行。 值的来源是一些存储在数据库中的 XML。我有一些 XPath 可
我需要直接从 xml 文件中提取值,精确地提取一个字段,但我总是得到 NULL 值。 将文件导入表中没有任何问题。该文件位于 c:\xampp\mysql\data\test_folder\test_
我将 MYSQL 与 EXTRACTVALUE 命令一起使用,下面的代码在使用“”大于运算符按预期工作。为什么? select EXTRACTVALUE(' * view_sms_speqs
select extractvalue( SELECT CONCAT("'",(SELECT LCASE(' 43745973-737b-4c71-926f-797c0c9407a6 failed
我正在尝试使用 ExtractValue MYSQL 函数从存储在我的数据库的一列中的 xml 返回一个段。以下是我如何设置所有内容。 表格: create table documents
是否有可能在 PL/SQL 中提高此查询的性能? SELECT * FROM events WHERE EXTRACTVALUE(xmltype(body),'/Event/Description/S
MySQL 是否可以获取 XML 中的节点名称? 我在存储过程中使用以下内容来迭代 XML 的节点,但这样我只能获取值,而不能获取节点名称: DECLARE i INT DEFAULT 1; DECL
我尝试获取 NULL 值,但输出始终为空,我不知道是否与 mysql 配置有关, 查询; mysql> SELECT ExtractValue('
我不明白为什么在使用 MySQL concat 函数时 extractvalue 不返回属性值。 SET @xml = '
我有以下 xml 11 ABC 12 XYZ 我想将基于 Employee 计数的元素值插入到 Employee 表中 我有一个员工表,其中
使用 MySQl,我尝试使用 extractvalue 来查找 XML 节点属性的值。 extractvalue 命令应该是什么样的? 例子- SET @xml = '
@xml= 'XY'; set @i=1,@j=2; select extractvalue(@xml,'//b[$@i]'); 我想知道函数中$@的含义。 最佳答案 $@ 代表用户变量。参见 MyS
我们正在使用 ExtractValue(xml,xpath) 处理大量 XML,并对 XML 进行循环。例如ExtractValue(p_xml, concat(xpath,'/ROOT/TABLE[
当我发现一个我无法解释的奇怪行为时,我正在尝试基于错误的 SQL 注入(inject)。这是一个简单的例子: SELECT * FROM users WHERE username = '' union
我想从给定的 xml 中提取位置 id,如果位置确实存在,我还想设置提取它的条件。 1006221342207 Hitesh Modha hitesh.99@hotmail.com 115
我是一名优秀的程序员,十分优秀!