html 存储在一个字段中被拆分为多行
html stored in a field gets split to multiple rows
我有一个配置文件 table 保存镶木地板文件。这些行包含一个 html 页面或一个简单的字符串。当我尝试一个简单的 select
select text from table
我将整个 html 作为一行。
1 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/
但是当我应用任何过滤器时
select text from table where text rlike 'xml';
html 中的每个标签都显示为单独的行。像这样
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
为什么会这样?
编辑
我认为它与换行符有关,但在这种情况下,第一个 select 应该 return 与第二个没有发生的结果相同。
还有。 This 文章说这对镶木地板来说应该不是问题。
rlike 基于正则表达式。
Reference:
A 喜欢 B
如果 A 或 B 为 NULL,则为 NULL;如果 A 的任何(可能为空)子字符串与 Java 正则表达式 B 匹配,则为 TRUE,否则为 FALSE。例如,'foobar' RLIKE 'foo' 计算结果为 TRUE,'foobar' RLIKE '^f.*r$'.
也是如此
因此语句 select text from table where text rlike 'xml';
很可能会检索具有字符 'x'、'm'、[=28= 的文本的所有 子字符串 ],同时将标签之间的space作为分隔符。
select text from table where text like '%xml%'
看起来它实际上是新行。更换后
regexp_replace(text, '\n', '') as text
我可以将 html 作为单个字符串使用。
我有一个配置文件 table 保存镶木地板文件。这些行包含一个 html 页面或一个简单的字符串。当我尝试一个简单的 select
select text from table
我将整个 html 作为一行。
1 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/
但是当我应用任何过滤器时
select text from table where text rlike 'xml';
html 中的每个标签都显示为单独的行。像这样
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
为什么会这样?
编辑
我认为它与换行符有关,但在这种情况下,第一个 select 应该 return 与第二个没有发生的结果相同。
还有。 This 文章说这对镶木地板来说应该不是问题。
rlike 基于正则表达式。
Reference: A 喜欢 B 如果 A 或 B 为 NULL,则为 NULL;如果 A 的任何(可能为空)子字符串与 Java 正则表达式 B 匹配,则为 TRUE,否则为 FALSE。例如,'foobar' RLIKE 'foo' 计算结果为 TRUE,'foobar' RLIKE '^f.*r$'.
也是如此因此语句 select text from table where text rlike 'xml';
很可能会检索具有字符 'x'、'm'、[=28= 的文本的所有 子字符串 ],同时将标签之间的space作为分隔符。
select text from table where text like '%xml%'
看起来它实际上是新行。更换后
regexp_replace(text, '\n', '') as text
我可以将 html 作为单个字符串使用。