sql - 尝试使用编码 (CCSID) 网络响应查询数据库
问题描述
在我网站上的帖子响应中,我得到一个标识符0213725502A33A32DAACAEB001
并将其传递给 where 子句中的查询,以便我可以使用它获取有关记录的其他数据。数据库的标识符列为Character 13,上面显然是26个字节。
问题是我的 sql 为此返回了一个空值。如果我将其复制并粘贴到本地查询中,则为空,但如果我输入,x'0213725502A33A32DAACAEB001 '
则返回我想要的数据。
如何将这些数据从网络发送到我的 sql 并让它正确匹配编码的数据库版本,以便它返回我的记录?
这有效:
select * from tableOne.testing where CAST(identifier AS character(26) CCSID 65535) = x'0213725502A33A32DAACAEB001' limit 5;
这不
select * from tableOne.testing where CAST(identifier AS character(26) CCSID 65535) = '0213725502A33A32DAACAEB001' limit 5;
解决方案
这可能是你需要的
select * from tableOne.testing
where CAST(identifier AS character(26) CCSID 65535) =
CAST('0213725502A33A32DAACAEB001' AS character(26) CCSID 65535)
limit 5;
或者
select * from tableOne.testing
where CAST(identifier AS character(26) CCSID 65535) =
CAST('0213725502A33A32DAACAEB001' AS character(26) FOR BIT DATA)
limit 5;
您还可以使用用户定义的函数,根据https://stackoverflow.com/a/42371427/9525344
推荐阅读
- vb.net - 自定义对象的问题
- javascript - React useState hook,用函数调用 setState
- django - Django搜索分页错误,每次我尝试移动到第2页时找不到页面错误
- javascript - 有没有办法将 Particlesbg 限制为仅组件,使其不覆盖整个 App.vue 背景
- mediawiki - MediaWiki API:搜索特定命名空间中的页面,包含子字符串(不是前缀)
- mysql - 为什么我不使用mysql时它正在运行?
- tensorflow - 如何将 PostgreSQL 数据库的输出从 TensorFlow IO 馈送到 tf.keras Sequential Model
- python - Apache Airflow 中的 Python 变量不保存数据
- powerbi - 在 PowerBI 中从另一个表中减去一个表的值
- amazon-web-services - 您如何正确配置 aws-vault 以使用 Ubuntu Linux 20.04 LTS?