我想生成一个计算列规范,该规范将捕获空格之前的字母。
例如我有这些代码
“ FY120 FMC”我希望它是“ FY120”
谢谢
答案 0 :(得分:4)
如果您要将此声明设为select
,则可以执行以下操作:
select t.*, left(col, charindex(' ', col + ' ')-1)
from table t;
编辑:如果您希望将此作为表列,则使用alter
语句:
alter table table
add col as left(col, charindex(' ', col + ' ')-1)
答案 1 :(得分:1)
尝试一下
DECLARE @data nvarchar(100)='FY120 FMC'
SELECT @data, SUBSTRING(@data,1,CHARINDEX(' ',@data)) AS ReqFormat
结果
data ReqFormat
---------------------
FY120 FMC FY120
答案 2 :(得分:0)
您的计算列规范应为
case when charindex(' ', col) > 0 then substring(col, 1, charindex(' ', dg_reference)) else col end
因此请按照规范更改表格
alter table yourtable
add col as case when charindex(' ', col) > 0 then substring(col, 1, charindex(' ', dg_reference)) else col end
这可以满足没有空间的情况 希望对您有帮助