SQL语句及其关键字总结(四)

 

SQL语句及其关键字总结(四)

1.CONCAT

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

  • 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'

2.SUBSTRING

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

  • MySQL: SUBSTR( ), SUBSTRING( )
  • Oracle: SUBSTR( )
  • SQL Server: SUBSTRING( )

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

 

SUBSTR (str, pos)

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

 

SUBSTR (str, pos, len)

由 <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'

3.TRIM

SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称:

  • MySQL: TRIM( ), RTRIM( ), LTRIM( )
  • Oracle: RTRIM( ), LTRIM( )
  • SQL Server: RTRIM( ), LTRIM( )

各种 trim 函数的语法如下:

TRIM ( [ [位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。

LTRIM(字串): 将所有字串起头的空白移除。

RTRIM(字串): 将所有字串结尾的空白移除。

例1

 

SELECT TRIM('   Sample   ');

结果:

 

'Sample'

例2

 

SELECT LTRIM('   Sample   ');

结果:

 

'Sample   '

例3

 

SELECT RTRIM('   Sample   ');

结果:

 

'   Sample'

 

猜你喜欢

转载自changbl.iteye.com/blog/1931820
今日推荐