oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法
有的時(shí)候,我們有需要將由不同欄位獲得的資料串連在一起。每一種資料庫(kù)都有提供方法來達(dá)到這個(gè)目的:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server: +
CONCAT() 的語法如下:
CONCAT(字串1, 字串2, 字串3, ...): 將字串1、字串2、字串3,等字串連在一起。請(qǐng)注意,Oracle的CONCAT()只允許兩個(gè)參數(shù);換言之,一次只能將兩個(gè)字串串連起來。不過,在Oracle中,我們可以用'||'來一次串連多個(gè)字串。
來看幾個(gè)例子。假設(shè)我們有以下的表格:
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';
結(jié)果:
'EastBoston'
例子2:
Oracle:
SELECT region_name || ' ' || store_name FROM Geography
WHERE store_name = 'Boston';
結(jié)果:
'East Boston'
例子3:
SQL Server:
SELECT region_name + ' ' + store_name FROM Geography
WHERE store_name = 'Boston';
結(jié)果:
'East Boston'
SQL 中的 substring 函數(shù)是用來抓出一個(gè)欄位資料中的其中一部分。這個(gè)函數(shù)的名稱在不同的資料庫(kù)中不完全一樣:
MySQL: SUBSTR(), SUBSTRING()
Oracle: SUBSTR()
SQL Server: SUBSTRING()
最常用到的方式如下 (在這里我們用SUBSTR()為例):
SUBSTR(str,pos): 由中,選出所有從第位置開始的字元。請(qǐng)注意,這個(gè)語法不適用于SQL Server上。
SUBSTR(str,pos,len): 由中的第位置開始,選出接下去的個(gè)字元。
假設(shè)我們有以下的表格:
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';
結(jié)果:
's Angeles'
例2:
SELECT SUBSTR(store_name,2,4)
FROM Geography
WHERE store_name = 'San Diego';
結(jié)果:
'an D'
MINUS 指令是運(yùn)用在兩個(gè) SQL 語句上。它先找出第一個(gè) SQL 語句所產(chǎn)生的結(jié)果,然后看這些結(jié)果有沒有在第二個(gè) SQL 語句的結(jié)果中。如果有的話,那這一筆資料就被去除,而不會(huì)在最后的結(jié)果中出現(xiàn)。如果第二個(gè) SQL 語句所產(chǎn)生的結(jié)果并沒有存在于第一個(gè) SQL 語句所產(chǎn)生的結(jié)果內(nèi),那這筆資料就被拋棄。
MINUS 的語法如下:
[SQL 語句 1]
MINUS
[SQL 語句 2]
我們繼續(xù)使用一樣的例子:
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
而我們要知道有哪幾天是有店面營(yíng)業(yè)額而沒有網(wǎng)絡(luò)營(yíng)業(yè)額的。要達(dá)到這個(gè)目的,我們用以下的 SQL 語句:
SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales
結(jié)果:
Date
Jan-05-1999
Jan-08-1999
"Jan-05-1999", "Jan-07-1999", and "Jan-08-1999" 是 "SELECT Date FROM Store_Information" 所產(chǎn)生的結(jié)果。在這里面,"Jan-07-1999" 是存在于 "SELECT Date FROM Internet_Sales" 所產(chǎn)生的結(jié)果中。因此 "Jan-07-1999" 并不在最后的結(jié)果中。
請(qǐng)注意,在 MINUS 指令下,不同的值只會(huì)被列出一次。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab调用ansys需要安装mpi
- 下一篇: php 商品显示,php – WooCo