oracle 中Like 后面如何用字段名进行模糊查询,而不是用字符串。
下面的SQL语句总是不成功,不知道是为什么?SELECT*FROM(SELECTID,DEPARTMENTNAME,DEPARTMENTORDER,OFFICEFILEF...
下面的SQL语句总是不成功,不知道是为什么?
SELECT *
FROM (SELECT ID,DEPARTMENTNAME,DEPARTMENTORDER,OFFICEFILE
FROM SETDEPARTMENT
WHERE OfficeFile=1) a
LEFT OUTER JOIN
(SELECT ID,BACKOFFICE,BACKTIME,CONTENT,TOOFFICE
FROM OFFICEDATA
WHERE id=6228) b
ON b.TOOFFICE LIKE '%'+a.DEPARTMENTNAME+'%'
最后一句总是提示如下错误:
执行失败:ORA-01722: 无效数字
SELECT *
FROM (SELECT ID,DEPARTMENTNAME,DEPARTMENTORDER,OFFICEFILE
FROM SETDEPARTMENT
WHERE OfficeFile=1) a
LEFT OUTER JOIN
(SELECT ID,BACKOFFICE,BACKTIME,CONTENT,TOOFFICE
FROM OFFICEDATA
WHERE id=6228) b
ON OfficeFile=1 and b.TOOFFICE LIKE '%'+a.DEPARTMENTNAME+'%'
到底是为什么呢? 展开
SELECT *
FROM (SELECT ID,DEPARTMENTNAME,DEPARTMENTORDER,OFFICEFILE
FROM SETDEPARTMENT
WHERE OfficeFile=1) a
LEFT OUTER JOIN
(SELECT ID,BACKOFFICE,BACKTIME,CONTENT,TOOFFICE
FROM OFFICEDATA
WHERE id=6228) b
ON b.TOOFFICE LIKE '%'+a.DEPARTMENTNAME+'%'
最后一句总是提示如下错误:
执行失败:ORA-01722: 无效数字
SELECT *
FROM (SELECT ID,DEPARTMENTNAME,DEPARTMENTORDER,OFFICEFILE
FROM SETDEPARTMENT
WHERE OfficeFile=1) a
LEFT OUTER JOIN
(SELECT ID,BACKOFFICE,BACKTIME,CONTENT,TOOFFICE
FROM OFFICEDATA
WHERE id=6228) b
ON OfficeFile=1 and b.TOOFFICE LIKE '%'+a.DEPARTMENTNAME+'%'
到底是为什么呢? 展开
3个回答
展开全部
1、首先双击桌面plsql developer软件启动软件,在连接窗口中填写连接信息,连接数据库。
2、连接成功后新建命令窗口,在sql查询中一般情况下对于数据比较少的表都会使用普通查询进行查询数据,如下图。
3、有的时候针对数据量比较大,而又不太确定查询目录的表在进行查询的时候,就需要进行模糊查询,使用关键字Like ,如下图查询出职工姓名第二个字符是o的职工信息。
4、种模糊查询的方式只能针对字符串类型的数据列进行查询,其它类型的数据是无法查询出结果的,如下图。
5、除了模糊查询之外还有反向模糊查询,not like,它的使用就是根据查询条件查询满足查询条件以外的数据。
展开全部
最后一个字符串拼接就错误了,SQLSERVER的字符串拼接符号才是+,而ORACLE是||
把最后一句这么改一下试试 LIKE '%'||a.DEPARTMENTNAME||'%'
把最后一句这么改一下试试 LIKE '%'||a.DEPARTMENTNAME||'%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,oracle没有+ 而是 || 这个代表+
oracle的+号,只是数字相加
oracle的+号,只是数字相加
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询