注册 登录
编程论坛 Oracle论坛

Oracle 能否像Mysql自动把where值从16进制转换成字符串

死海 发布于 2020-07-01 19:35, 5405 次点击
在Mysql的世界可以这样写where的参数如下:
SELECT * from users WHERE username=0x736563757265  ,其实等价于SELECT * from users WHERE username='secure'
736563757265 就是 secure的16进制编码。

但是如果在Oracle的世界如上写法将会报错误如下:
ORA-00933: SQL 命令未正确结束
00933.00000 -  "SQL command not properly ended"

请问在Oracle的世界,我怎么才能做到运行SELECT * from users WHERE username=0x736563757265  ,其实等价于运行SELECT * from users WHERE username='secure'的效果呢?
其实这里最终的目的是不想在sql语句上出现单引号。
2 回复
#2
死海2020-07-02 11:18
请各路大神帮帮忙。谢谢大家
#3
厨师王德榜2020-07-16 09:57
为什么不愿在查询语句中出现单引号?是担心注入式攻击吗?
1