SQL Server替换函数

时间:2020-02-23 14:32:34  来源:igfitidea点击:

在本文中,我们将了解SQL Server替换函数

使用SQL Server替换函数

名称" Replace"本身定义了其含义。

" SQL Server替换函数"使我们能够使用新字符串替换字符串或者部分字符串(子字符串)及其所有出现的位置。

在其他编程语言(例如Java或者C++)中,我们确实定义了函数,以用其他(新)字符串替换某些字符或者子字符串。

让我们借助示例来了解替换功能的概念。

考虑一个在线票务预订系统。
如果我们希望放置和开放供客户预订仅适用于"浦那"的门票的票位,我们将必须将当前的城市状态及其所有出现的位置替换为"浦那"。
这是当REPLACE功能进入画面时。
使用该功能,我们可以将当前城市的每次出现都替换为"浦那"。

了解了工作原理后,现在让我们了解Replace函数的结构。

REPLACE函数的语法

SQL Server替换功能用新的/设置的字符串替换每次出现或者存在的提到的字符串/子字符串。

REPLACE(string/substring, old_str, new_str)

  • 字符串/子字符串:将其中替换数据的字符串。

  • old_str:要替换的字符串。

  • new_str:替换旧字符串的字符串值。

此外,"替换"功能不区分大小写。

现在,让我们借助一些示例来了解Replace函数的实现。

通过示例实现替换函数

在下面的示例中,我们将字符串" Good Morning"中的单词" Morning"替换为新的字符串" Evening"。

SELECT 
  REPLACE(
      'Good Morning.', 
      'Morning', 
      'Evening'
  ) output;

输出:

Good Evening.

此外,现在我们用"晚上"替换了多次出现的字符串"早晨"。

SELECT 
  REPLACE(
      'Good Morning. This MORNING seems beautiful!!', 
      'Morning', 
      'Evening'
  ) output;

此外,从以上示例可以清楚地看到,Replace函数完全不区分大小写。

结果:

Good Evening. This Evening seems beautiful!!

现在,我们创建了一个"信息"表并使用以下命令添加了值:

CREATE TABLE Info (
  id INT PRIMARY KEY,
  City VARCHAR (255) NOT NULL
); 
 
INSERT INTO Info (
 id,
 City
)
VALUES
  (
      1,
    '  Pune  '
  ),
  (
      2,
    '       Satara  '
  ),
  (
      3,
    ' California       '
  );
Select * from Info;

输出:

id	City
1	Pune
2	Satara
3	California

在下面的示例中,我们将在"城市"列中每次出现的字符" a"替换为" B",条件是"城市"的数据值不为空。

UPDATE
  Info
SET
  City = REPLACE(City,'a','B')
WHERE
  City IS NOT NULL;