Sql 从列中提取字符串以生成新列

Sql 从列中提取字符串以生成新列,sql,Sql,我有一个列,其中有一个需要解析的代码。我可以使用substring和charindex来获取我想要的内容,但是我如何才能使它成为自己的列呢?为了说明我的意思,我有一个列,其中包含以下内容,我的代码在星号后面包含两个字符 SUBSTRING([table].Service_Description, CHARINDEX('*', [table].Service_Description)+1,2). Example data: CES - Community Connector *GG (H2021

我有一个列,其中有一个需要解析的代码。我可以使用substring和charindex来获取我想要的内容,但是我如何才能使它成为自己的列呢?为了说明我的意思,我有一个列,其中包含以下内容,我的代码在星号后面包含两个字符

SUBSTRING([table].Service_Description, CHARINDEX('*', [table].Service_Description)+1,2). 
Example data:
CES - Community Connector *GG (H2021)
CES - Respite *QG (S5150)
CES - Respite Day *RG (S5151)
我搜索了又搜索,但没有符合我具体情况的答案

select [table].Service_Description, SUBSTRING([table].Service_Description, CHARINDEX('*', [table].Service_Description)+1,2) from [table]

可以将此类列添加为计算列:

alter table [table] add new_column as
    (SUBSTRING([table].Service_Description, CHARINDEX('*', [table].Service_Description)+1, 2));

嗯,您的结果集中已经有了一个新列。如果要将其作为新列存储在表中,则必须先添加该列,然后进行更新。或者你使用一个计算列(一些DBMS支持),或者你只是创建一个视图。你说的“自己的列”是什么意思?表达式是否已经在查询结果中创建了自己的列?这是SQL Server的吗?或者针对哪个其他DBMS?请更新问题的标签以显示使用的DBMS。