📜  在 SQL Server 中逐字反向语句

📅  最后修改于: 2022-05-13 01:54:33.356000             🧑  作者: Mango

在 SQL Server 中逐字反向语句

要在 SQL 服务器中逐字反转任何语句,我们可以使用 SUBSTRING函数,它允许我们提取和显示字符串的一部分。

先决条件:SUBSTRING函数

方法 :

  • 使用 DECLARE 语句声明了三个变量(@Input、@Output、@Length)。
  • 使用 WHILE 循环迭代 @Input 中存在的每个字符。对于 SQL Server while 循环内部的条件,使用 SQL LEN函数检查 Input 的长度是否大于 0。
  • 在while循环中,使用SUBSTRING函数设置@Output值三个参数,分别是Input、起点、终点。这里我们将 Input 分配为 @Input,使用起点为 0。
  • 使用 CHARINDEX函数查找“ ”,以便端点位于空格之前。
  • 现在,将此添加到@Output,并且在循环开始时为空。
  • 要更新 @Input 变量,请使用 SUBSTRING函数。在这里,我们将 Input 分配为 @Input。
  • 接下来,使用SQL CHARINDEX函数查找空白空间,然后我们加1,以便起点在空格之后。
  • 然后,使用 SQL LEN函数指定结束值。
  • 在 SET @Output 中,它从 0 个索引开始提取单词,一直到空白处。这将是第一个词。
  • 一旦它得到第一个单词,它就会使用 SET @Input 代码从 @Input 中删除该单词。

输入 :
欢迎使用 Geeksforgeeks 上的 SQL Server 教程。

例子 -

DECLARE @Input VARCHAR(MAX)
DECLARE @Output VARCHAR(MAX)
DECLARE @Length INT 

SET @Input = 'Welcome to SQL Server 
             Tutorial on Geeksforgeeks.'

SET @Output = ''
WHILE LEN(@Input) > 0

BEGIN
IF CHARINDEX(' ', @Input) > 0

BEGIN
SET @Output = SUBSTRING
              (@Input, 0, CHARINDEX(' ', @Input))
               + ' ' + @Output
SET @Input = LTRIM
             (RTRIM
             (SUBSTRING
             (@Input, CHARINDEX 
             (' ', @Input) + 1, LEN(@Input))))
END

ELSE

BEGIN
SET @Output = @Input + ' ' + @Output
SET @Input = ''
END
END
SELECT @Output

输出 :

Geeksforgeeks. on Tutorial Server SQL to Welcome

使用 SQL Server Management Studio 输入和输出: