【问题标题】:Update column data using SQL query使用 SQL 查询更新列数据
【发布时间】:2020-10-05 08:26:04
【问题描述】:

在我们的 SQL Server 数据库中,我们正在尝试更新表中的旧列数据。在一个表中有很多类似于Agency Administrator的数据。这是旧格式的数据,我们在列中获取单个值。现在,由于数据结构的更新,我们将数据存储为 ["Agency Administrator"]。我们希望对旧数据进行与 ["Agency Administrator"] 相同的更改。我们如何通过 SQL 查询更新?

期望的结果应该是Agency Administrator ---> ["Agency Administrator"]

【问题讨论】:

  • 在这种情况下,您应该在提问之前使用documentation 进行一些研究。
  • @DaleK 为什么你对问题的评价很低?
  • 首先你不知道是我否决了你。但是,我承认我是对您的问题投反对票的三个人之一。如果您将鼠标悬停在向下投票箭头上,它会给您“这个问题没有显示任何研究工作”的原因。这基本上就是我在之前的评论中所说的。
  • @DaleK 否决了它会影响我的 stackoverflow 个人资料的问题。

标签: sql sql-server sql-server-2008 sql-server-2012 sql-update


【解决方案1】:

这是你想要的吗?

update mytable
set adminType = '["Agency Administrator"]'
where adminType = 'Agency Administrator'

这会将adminType 列中所有等于'Agency Administrator' 的值替换为'["Agency Administrator"]'

【讨论】:

  • 是的,这是正确的,但首先我想选择列然后更新
【解决方案2】:

使用以下代码进行测试:

create table test(RequestId int,AdminType varchar(100));
insert into test values(2328,'Agency Administrator')
insert into test values(2299,'Agency Clerk')
select * from test;
UPDATE test SET AdminType = CONCAT('["', AdminType,'"]') 

【讨论】:

  • 你没有理解这个问题。它不工作。您的解决方案会将 ["'Agency Administrator'"] 更改为 ["["Agency Administrator"]"]
猜你喜欢
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-24
相关资源
最近更新 更多