见图片。
我有一张表,里面全是与特定部门有关的记录。如果部门名称在“StandardWork”字段下,但在“Support -”一词之后,创建一个名为 Service 的新列的 SQL 命令是什么,它将忽略支持一词、空格和破折号,只使用部门来正确的?
见图片。
我有一张表,里面全是与特定部门有关的记录。如果部门名称在“StandardWork”字段下,但在“Support -”一词之后,创建一个名为 Service 的新列的 SQL 命令是什么,它将忽略支持一词、空格和破折号,只使用部门来正确的?
如果StandardWork
需要同时存在Service
,计算列
ALTER TABLE Whatever
ADD [Service] AS SUBSTRING(StandardWork, 11, 8000);
如果要替换StandardWork
,则:
ALTER TABLE Whatever
ADD [Service] varchar(200) NULL;
UPDATE Whatever SET [Service] = SUBSTRING(StandardWork, 11, 8000);
ALTER TABLE Whatever
ALTER COLUMN [Service] varchar(200) NOT NULL;
ALTER TABLE Whatever
DROP COLUMN StandardWork;
我更喜欢使用该STUFF
功能来解决这些问题。
select stuff(StandardWork, 1, 10, '')
此函数将删除字符 1-10 并用空字符串替换它们。
在 select 语句中:
select ...
case when StandardWork like 'Support - %'
then replace(StandardWork, 'Support - ', '')
end SupportSubCategory
...