You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL如何将invoice date week id列的W11/W12/W13移动到新列last3weeks

实现方案

分两种常用场景提供对应SQL:

场景1:仅查询时生成临时last3weeks列,不修改原表结构

适合只需要查看结果、不需要改动原有表数据的场景:

SELECT 
    *,
    CASE WHEN `invoice date week id` IN ('W11', 'W12', 'W13') 
         THEN `invoice date week id` 
         ELSE NULL END AS last3weeks
FROM 你的实际表名;

说明:不符合条件的行last3weeks会返回空值NULL,如果你需要显示空白字符串,把ELSE NULL替换为ELSE ''即可。如果你的数据库对带空格的字段名标识规则不同,把字段名的反引号替换为对应符号即可(SQL Server用方括号[]、PostgreSQL用双引号"")。

场景2:在原表新增永久last3weeks列并填充数据

操作前建议先备份原表数据避免误操作:

  1. 第一步:新增last3weeks字段
-- 字段类型和长度保持和`invoice date week id`一致即可,示例为varchar(10)
ALTER TABLE 你的实际表名 ADD COLUMN last3weeks VARCHAR(10);
  1. 第二步:批量填充符合条件的数据
UPDATE 你的实际表名
SET last3weeks = `invoice date week id`
WHERE `invoice date week id` IN ('W11', 'W12', 'W13');

内容的提问来源于stack exchange,提问作者barrie abdul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:48:05