在我的数据库表Actors中,我有两个领域:名称和工资。 '名称'由逗号和空格分隔的姓和名字组成。 我想添加两个列:fname和lname,除了现有的列,我能够输出这两个新列,但我很难将这些列添加到Actors表。
名称/工资 - > name / salary / fname / lname
有人可以帮帮我,让我知道怎么做吗?提前谢谢。
这是我写的sql命令:
select
case when name like '%,%' then
substring(name, charindex(',', name)+2, len(name))
else substring(name, 1, len(name)) end as fname,
case when name like '%,%' then
substring(name, 1, charindex(',', name)-1) end as lname
from Actors;
答案 0 :(得分:1)
只需针对您的数据库执行这些操作即可添加新列。
ALTER TABLE Actors ADD COLUMN fname TEXT
ALTER TABLE Actors ADD COLUMN lname TEXT
答案 1 :(得分:0)
如果这些列始终是从现有列派生的,则不要向表中添加新列。而是添加计算列:
alter table Actors add fname as (case when name like '%,%'
then substring(name, charindex(',', name)+2, len(name))
else name
end);
alter table Actors add lname as (case when name like '%,%' then
then left(name, charindex(',', name) - 1)
end);
然后在查询表时自动计算值。