我有一个表,其Id字段是一个数字。我想检查一下这个数字是否在一个被$$ ^ $$包围的表中:$$^$$1265$$^$$
应该匹配下一个表中的id字段1265
。以下是我到目前为止的情况:
SELECT *
FROM VarTable a, IDTable b
WHERE CONVERT(NVARCHAR2(400 CHAR), b.id) LIKE a.var_value;`
我也尝试过:
SELECT *
FROM VarTable a, IDTable b
WHERE a.var_value LIKE CONVERT(VARCHAR(50), b.id);
底部抛出“缺少表达式错误”,顶部抛出“缺少右括号”错误。
有什么想法吗?
答案 0 :(得分:4)
您似乎正在使用SQL Server convert()
。该函数在Oracle中执行其他操作(请参阅here)。
尝试这样的事情:
SELECT *
FROM VarTable a join
IDTable b
on a.var_value LIKE '%$$'||cast(b.id as varchar2(255))||'$$%';
您还可以使用to_char()
将数字转换为特定的字符串表示形式。
答案 1 :(得分:2)
这是一个数字和一个varchar,我会选择:
SELECT *
FROM VarTable a,
IDTable b
WHERE a.var_value LIKE '%$$'||b.id||'&&%';