oracle 拼接语句怎么写?

||的妙用,字符串和变量列名之间都得用||分隔,oracle等数据库两个单引号输出一个单引号,因为如果只写了一个'的话 他会和最近的单引号被数据库认为是组成了一个空字符串,因此需要用两个单引号来表示这是个单引号

查询列间用,分隔:

select empno||','||ename from emp;

||用于拼接语句,下面是写的每一步思路,可以沿用于其他的拼接:

select '' from emp;/*输出一个空的字符串*/

select 'select * from emp where ename=' from emp;/*输出固定的字符串*/

select 'select * from emp where ename='||ename from emp;/*将固定的字符串和变量拼接*/

select 'select * from emp where ename='''||ename from emp;/*周所周知,oracle等数据库两个单引号输出一个单引号,因此这里再||前加了''*/

select 'select * from emp where ename='''||ename||'' from emp;/*还差右半边的单引号,先在变量右边加||,然后再||右边加'',这里的''表示拼了空字符*/

select 'select * from emp where ename='''||ename||''';' from emp;/*然后再在最后面的空字符里面加一个单引号,也就是'',顺便加个;*/

相关推荐
Web3探索者17 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo19 小时前
Linux系统中网线与USB网络共享冲突
linux
ClouGence21 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将1 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils2 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
Sokach10152 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
渣波2 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
AlfredZhao3 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
倔强的石头_3 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql