从sql中的字符串中提取文本

从sql中的字符串中提取文本,sql,sql-server,Sql,Sql Server,如何从字符串中获取文本 就像我有一根这样的弦 转为副总裁职级奖 转换协调员职级奖 我想从这个转换后的副总裁级别奖项中获得副总裁, 协调员来自此转换的协调员等级奖励 文本中总是转换和排序,所以我需要在的中间提取文本 为了从这个转换后的副总裁级别奖项中获得“副总裁”, “协调员”来自此转换后的协调员等级奖励 语法:- 子字符串(字符串、开始、长度) 您可以尝试以下SQL Server查询:- 注意:-您可以在字符串的位置写入字符串所在的列名。您可以在已经给定字符串的情况下使用子字符串: 语法:子

如何从字符串中获取文本 就像我有一根这样的弦

  • 转为副总裁职级奖
  • 转换协调员职级奖
我想从这个转换后的副总裁级别奖项中获得副总裁, 协调员来自此转换的协调员等级奖励

文本中总是转换和排序,所以我需要在

的中间提取文本 为了从这个转换后的副总裁级别奖项中获得“副总裁”, “协调员”来自此转换后的协调员等级奖励

语法:- 子字符串(字符串、开始、长度)

您可以尝试以下SQL Server查询:-


注意:-您可以在字符串的位置写入字符串所在的列名。

您可以在已经给定字符串的情况下使用子字符串:

语法
子字符串(单词、开始、结束)

选择子字符串(“副总裁级别奖”“副总裁级别奖”,6,10),
子字符串(“协调员等级奖励”,1,11)

希望有帮助:)

用这个。适用于所有
DBMS

Oracle

  With tab(col) as ( Select 'Converted Vice President Rank Award' from dual
                  UNION ALL
                  Select 'Converted Coordinator Rank Award' from dual
                  )
    --Query
    Select  replace(replace (col,'Converted',''),'Rank Award','')
    from tab;
SQLSERVER

With tab(col) as ( Select 'Converted Vice President Rank Award' 
              UNION ALL
              Select 'Converted Coordinator Rank Award' 
              )
--Query
Select  replace(replace (col,'Converted',''),'Rank Award','')
from tab;

这取决于您运行查询的引擎请参阅。我想这就是你要找的。HI@a_horse_,名称更新选择trim(替换(替换(“转换的副总裁级别奖”,“转换的”,“转换的”,“级别奖”,“级别奖”),你可以使用
LTRIM(替换(替换(,“转换的”,“级别奖”,“级别奖”)
作为临时解决方案Hi@aditya其类型的硬代码我有不同的字符串以及相同的格式Hi@Nikita Shisodia其类型的硬代码我有不同的字符串以及相同的格式Hello@dev88用于从字符串获取数据您可以使用子字符串以及正则表达式谢谢@xing这就是我要找的,谢谢每个人都帮了大忙:)
With tab(col) as ( Select 'Converted Vice President Rank Award' 
              UNION ALL
              Select 'Converted Coordinator Rank Award' 
              )
--Query
Select  replace(replace (col,'Converted',''),'Rank Award','')
from tab;