sql - Oracle 数据库中的 VARCHAR
问题描述
我有这个在 SQL Server 中运行的查询:
SELECT
COUNT(T.Texte)
FROM
(SELECT
CONVERT(varchar(8000), CONVERT(binary(8000), USER_DATA)) AS Texte
FROM
O_USER_DATA ) T
WHERE
T.Texte LIKE '%test123%'
在 Oracle 中它不会编译。我得到一个例外:
缺少表达
如何修改我的查询以使其在 Oracle 数据库中运行?
解决方案
您可以使用UTL_RAW.CAST_TO_VARCHAR2
函数,因为您存储在user_data
column 中的内容可以存储在BLOB
Oracle 的 type 列中,并且可以使用该函数将内容转换为VARCHAR2
type :
WITH t AS
(
SELECT UTL_RAW.CAST_TO_VARCHAR2(user_data) AS Texte
FROM O_USER_DATA
)
SELECT COUNT(t.Texte)
FROM t
推荐阅读
- reactjs - 如何强制重新渲染 React 函数组件
- c# - 我想使用 C# 将此 SQL 查询转换为 linq
- python - 请求获取数据从 pc 发送到 django 应用程序的请求中没有产生任何结果
- javascript - 如何使用字符串和数组创建对象数组
- javascript - 单击链接不会将我带到锚标记内的 href 链接
- scheme - 我可以使用附加!在文字列表上?
- python - AttributeError: 'str' 对象在噪声 = np.random.normal(0, 20, file_name.shape) 处没有属性 'shape'
- javascript - Javascript Excel Javascript API 脚本实验室中使用的 Danfo.js 库
- typescript - vuejs - v-model 不更新类属性
- javascript - 如何在 react native 中设置 redux?