sql - 如何在将数据插入 Hive 表时转义 html 代码数据
问题描述
我需要将数据插入到我的表列中,该列具有特殊字符,例如 < > - ..... 所以我给了 \ ,它用作每个文字的转义字符
这是我要插入的“简介”列的数据。数据来自 csv 文件,所有数据都用双引号括起来
"<p><span style=""font-family: \'Calibri Light\': sans-serif\; font-size: xx-large\; color: #2184c2\;""><span style=""font-size: 28pt\;""><span style=""font-size: x-large\;""><span style=""font-size: 18pt\;""><strong>Help us improve by taking our short satisfaction survey. \;</strong></span></span></span></span></p>"
当我尝试插入此数据时,出现以下错误。
AnalysisException: Syntax error in line 1:\n...","","<p><span style="font-family: \\\\\'Calibri Light\\\\\'...\n ^\nEncountered: -\nExpected: CROSS, FROM, FULL, GROUP, HAVING, INNER, JOIN, LEFT, LIMIT, OFFSET, ON, ORDER, RIGHT, STRAIGHT_JOIN, TABLESAMPLE, UNION, USING, WHERE, COMMA\n\nCAUSED BY: Exception: Syntax error\n (110) (SQLExecDirectW)')
日志类型 - 信息日志
有人可以帮我将这种数据插入表格吗
解决方案
分号和单引号需要使用反斜杠进行转义:
create table test_str as select '<p><span style=""font-family: \'Calibri Light\', sans-serif\; font-size: xx-large\; color: #2184c2\;""><span style=""font-size: 28pt\;""><span style=""font-size: x-large\;""><span style=""font-size: 18pt\;""><strong>Help us improve by taking our short satisfaction survey \;</strong></span></span></span></span></p>';
select * from test_str;
结果:
<p><span style=""font-family: 'Calibri Light', sans-serif; font-size: xx-large; color: #2184c2;""><span style=""font-size: 28pt;""><span style=""font-size: x-large;""><span style=""font-size: 18pt;""><strong>Help us improve by taking our short satisfaction survey </strong></span></span></span></span></p>
推荐阅读
- bash - 如果第 2 列大于下一行的第 2 列,则打印行
- java - 如何将响应属性和 JWT 令牌有效负载属性自定义为 lowerCamelCase
- php - Code does not work on web hosting but works on localhost
- c# - 如何通过比较属性从列表中获取项目
- python - Pandas 将索引值与相应的索引值进行比较以找到百分比匹配
- reactjs - Jest 测试中的“类型错误:不是函数”
- android - 反应本机异步存储错误:包 com.facebook.react.module.annotations 不存在
- database - 使用 Spring Data JPA 处理/合并来自 API 响应的重复对象/主键
- reactjs - 恒定导出不适用于反应应用程序
- android - 添加 bottomAppBar 后在渲染期间引发异常