python - 限制 mysql 查询中的 str 字符

标签 python mysql

我有一个 python 脚本,可以从 MySQL 数据库中提取查询信息。

 if 'IMPALA_AUDIT' in table:
        query = "SELECT ID, EVENT_TIME, ALLOWED, SERVICE_NAME, 
lower((REPLACE(USERNAME,'@UED.NET', ''))), IMPERSONATOR, IP_ADDR, 
OPERATION, QUERY_ID, SESSION_ID, STATUS, DATABASE_NAME, OBJECT_TYPE, 
TABLE_NAME, PRIVILEGE, REPLACE(REPLACE(OPERATION_TEXT,CHAR(X'0D'),' 
'),CHAR(X'0A'),' ') FROM " + table + ";"
        pull.create_data_file(query, 'IMPALA_AUDIT.DATA1') 

我试图将 OPERATION_TEXT 的结果限制为 10 个字符。 这是我尝试过的:

REPLACE(REPLACE LEFT((OPERATION_TEXT, CHAR(X'0D'),' '),10),CHAR(X'0A'),' ')

还有其他几个类似的更改,但没有运气。

最佳答案

从您的问题来看,尚不清楚为什么 LEFT(CONVERT(OPERATION_TEXT USING utf8),10)LEFT(UNHEX(OPERATION_TEXT),10) 不返回您想要的结果。 here is a link to the relevant documentation on CONVERTHere's the link for UNHEX

我很确定错误的根源不是在十六进制格式的表示中转义单引号,这不是 MySQL 的方式。

关于python - 限制 mysql 查询中的 str 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367144/

相关文章:

python - 从具有可变长度的列表字典创建数据框

python - 添加 @tornado.web.asynchronous 装饰器有什么好处?

sql - 在多个表上执行条件 mysql 连接的最有效方法? (Yii php框架)

mysql - 道场需要互联网吗? (struts2)

python - Peewee - 如何将字典转换为模型

python - Hyperopt 与 Spark MlLib 集成

mysql - 全文搜索不工作 mysql

mysql - 如何在sql查询中生成可能组合的数量

python - 使用 mmap 读取具有偏移量的二进制文件

php - fuelphp属于关系,不同机型