有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:

MySQL: CONCAT()

Oracle: CONCAT(), ||

SQL Server: +

CONCAT() 的语法如下:

CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||'来一次串连多个字串。

来看几个例子。假设我们有以下的表格:

Geography 表格region_name

store_name

East

Boston

East

New York

West

Los Angeles

West

San Diego

例子1:

MySQL/Oracle:

SELECT CONCAT(region_name,store_name) FROM Geography

WHERE store_name = 'Boston';

结果:

'EastBoston'

例子2:

Oracle:

SELECT region_name || ' ' || store_name FROM Geography

WHERE store_name = 'Boston';

结果:

'East Boston'

例子3:

SQL Server:

SELECT region_name + ' ' + store_name FROM Geography

WHERE store_name = 'Boston';

结果:

'East Boston'

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:

MySQL: SUBSTR(), SUBSTRING()

Oracle: SUBSTR()

SQL Server: SUBSTRING()

最常用到的方式如下 (在这里我们用SUBSTR()为例):

SUBSTR(str,pos): 由中,选出所有从第位置开始的字元。请注意,这个语法不适用于SQL Server上。

SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字元。

假设我们有以下的表格:

Geography 表格region_name

store_name

East

Boston

East

New York

West

Los Angeles

West

San Diego

例1:

SELECT SUBSTR(store_name, 3)

FROM Geography

WHERE store_name = 'Los Angeles';

结果:

's Angeles'

例2:

SELECT SUBSTR(store_name,2,4)

FROM Geography

WHERE store_name = 'San Diego';

结果:

'an D'

MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔资料就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔资料就被抛弃。

MINUS 的语法如下:

[SQL 语句 1]

MINUS

[SQL 语句 2]

我们继续使用一样的例子:

Store_Information 表格store_name

Sales

Date

Los Angeles

$1500

Jan-05-1999

San Diego

$250

Jan-07-1999

Los Angeles

$300

Jan-08-1999

Boston

$700

Jan-08-1999

Internet Sales 表格

Date

Sales

Jan-07-1999

$250

Jan-10-1999

$535

Jan-11-1999

$320

Jan-12-1999

$750

而我们要知道有哪几天是有店面营业额而没有网络营业额的。要达到这个目的,我们用以下的 SQL 语句:

SELECT Date FROM Store_Information

MINUS

SELECT Date FROM Internet_Sales

结果:

Date

Jan-05-1999

Jan-08-1999

"Jan-05-1999", "Jan-07-1999", and "Jan-08-1999" 是 "SELECT Date FROM Store_Information" 所产生的结果。在这里面,"Jan-07-1999" 是存在于 "SELECT Date FROM Internet_Sales" 所产生的结果中。因此 "Jan-07-1999" 并不在最后的结果中。

请注意,在 MINUS 指令下,不同的值只会被列出一次。

oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法相关推荐

  1. oracle 中的 CONCAT,substring ,MINUS 用法

    有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + C ...

  2. oracle里面的nvl,oracle中nvl函数

    最近在修改项目中一个统计的bug,统计出的钱数不对,因为不是自己开发的模块,经过分析流程找到了统计的sql. sum(f_msmoney)+sum(f_fkmoney) as total, 上面这段是 ...

  3. oracle里的定时器,oracle中创建定时器

    --创建定时器 CREATE OR REPLACE PROCEDURE P_TEST_JOB IS --判断任务是否已被创建,若任务被创建过,则 isExist > 0 isExist NUMB ...

  4. oracle里的listagg,oracle中的listagg函数

    listagg()用于字符串聚集 LISTAGG(XXX--要合并的列,XXX--分隔符) WITHIN GROUP( ORDER BY XXX) over(partition by XXX) 需要注 ...

  5. oracle里update+where,Oracle 关联表更新 update ,where exists

    表A ID NAME AGE SEX BOOK 1 小丑1 12 男 数据结构 2 小丑2 22 女 人工智能 表B ID AGE SEX COMPUTER 1 00 applet 2 00 thin ...

  6. java中字符串函数_JAVA中字符串函数subString的用法小结

    string str;str=str.substring(int beginindex);截取掉str从首字母起长度为beginindex的字符串,将剩余字符串赋值给str: str=str.subs ...

  7. C#中indexof和substring函数用法 (截取字符串)

    indexof() :在字符串中从前向后定位字符和字符串:所有的返回值都是指在字符串的绝对位置,如为空则为- 1 string test="asdfjsdfjgkfasdsfsgfhgjgf ...

  8. MySQL中函数CONCAT及GROUP_CONCAT 对应oracle中的wm_concat

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.CONCAT()函数 CONCAT()函数用于将多个字符串连接成一个字符串. 使用数据表Info ...

  9. oracle 几种锁,oracle_基于oracle中锁的深入理解,ORACLE里锁有以下几种模式:0:no - phpStudy...

    基于oracle中锁的深入理解 ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share ...

最新文章

  1. linux 路由器去广告,linux – 如何正确发送路由器广告?
  2. Oracle单实例打补丁
  3. 《R语言数据分析》——3.2 聚集
  4. 以 DirectUI 方式实现的ImageButton
  5. 【转】TcpListener和tcpclient使用
  6. django-带签名的cookie
  7. 2n皇后的问题java_蓝桥杯java 基础练习 2n皇后问题
  8. 事务处理笔记《一》ADO.NET级别的事务
  9. android javamail客户端获取慢_QQ音乐Android客户端Web页面通用性能优化实践
  10. xrd连续扫描和步进扫描_XRD的扫描速度和步长是同一个数值吗
  11. pyspark系列6-Spark SQL编程实战
  12. MySQL——事务(Transaction)详解
  13. KK 给年轻人的99条建议
  14. 浅析JWT Attack
  15. 《一个出身寒门的高考状元之死》
  16. matlab let工具箱,【matlab】配置surfbox工具箱(surfacelet转换)
  17. YouTubeDNN
  18. **浅析中国古代园林艺术**
  19. kali linux u盘大小,缩水u盘如何恢复真实容量u盘安装kali linux英文
  20. centos7在net连接下ifcfg-ens33的配置

热门文章

  1. JavaWeb笔记:Html总结
  2. Java面试题:线程实现的两种方式及匿名内部类实现
  3. 07.MyBatis中的关联查询
  4. CentOS 7 定时计划任务设置
  5. 学习笔记二:异步FIFO
  6. 怎样查看Jdk是32位还是64位
  7. 程序猿的日常——JVM内存模型与垃圾回收
  8. 十二、泛型、反射和异常
  9. rsync 3.1.1源代码编译安装配置
  10. input框自动填充内容背景颜色为黄色解决方法