首页 > 试题广场 >

将所有to_date为9999-01-01的全部更新为NUL

[编程题]将所有to_date为9999-01-01的全部更新为NUL
  • 热度指数:103988 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01。
CREATE TABLE IF NOT EXISTS titles_test (
    id int(11) not null primary key,
    emp_no int(11) NOT NULL,
    title varchar(50) NOT NULL,
    from_date date NOT NULL,
    to_date date DEFAULT NULL
);

insert into titles_test values ('1', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('2', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('3', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('4', '10004', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('6', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('7', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01');
更新后的值:
titles_test 表的值:
id
emp_no
title
from_date
to_date
1
10001
Senior Engineer
2001-01-01
NULL
2
10002
Staff
2001-01-01
NULL
3 10003
Senior Engineer
2001-01-01
NULL
4 10004
Senior Engineer
2001-01-01
NULL
5 10001
Senior Engineer
2001-01-01
NULL
6 10002
Staff
2001-01-01
NULL
7 10003
Senior Engineer
2001-01-01
NULL
后台会执行下面SQL语句得到输出,判断正确:
select count(*) from titles_test where from_date='2001-01-01' and to_date is NULL;

示例1

输入

drop table if exists titles_test;
CREATE TABLE  titles_test (
   id int(11) not null primary key,
   emp_no  int(11) NOT NULL,
   title  varchar(50) NOT NULL,
   from_date  date NOT NULL,
   to_date  date DEFAULT NULL);

insert into titles_test values
('1', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('2', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('3', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('4', '10004', 'Senior Engineer', '1995-12-03', '9999-01-01'),
('5', '10001', 'Senior Engineer', '1986-06-26', '9999-01-01'),
('6', '10002', 'Staff', '1996-08-03', '9999-01-01'),
('7', '10003', 'Senior Engineer', '1995-12-03', '9999-01-01');

输出

7
头像 牛客题解官
发表于 2025-03-18 10:10:52
精华题解 根据题目要求,我们需要将 titles_test 表中所有 to_date 为 '9999-01-01' 的记录更新为: to_date 设置为 NULL from_date 设置为 '2001-01-01' 知识点 1. UPDATE 语句 UPDATE 用于修改表中的数据。 语法: UP 展开全文
头像 病神瑛侍者
发表于 2020-09-11 11:14:49
基本的数据更新语法,UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 update titles_test set to_date = null , from_date = '2001-01-01' where to_date = '9999-01-01'
头像 高质量搬砖人
发表于 2021-01-31 09:51:14
方法) UPDATE titles_test SET to_date = NULL, from_date = '2001-01-01' WHERE to_date = '9999-01-01'; 展开全文
头像 此用户名涉嫌违规
发表于 2021-03-10 10:39:15
题目要求:将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01。update 基本语句使用:https://www.w3schools.com/sql/sql_update.asp代码: update titles_test set to_ 展开全文
头像 数据流动DataFlow
发表于 2023-03-14 08:52:57
方法一:思路:①表更新使用update语句,多个更新之间用逗号隔开,而不能使用and连接。②这里两个更新分别考察了简单update语句和搜索型update语句。③一个比较容易出错的地方是某列更新为null时不能使用<列名> is null的方法,正确的方法是:update <表名& 展开全文
头像 jiang_dr
发表于 2021-10-22 09:11:22
注意点:切勿将 , 写成 and update titles_test set to_date = null, from_date = '2001-01-01' where to_date = '9999-01-01'
头像 秋天的震撼已经感受到了😅😅😅
发表于 2023-11-20 10:48:21
/* update titles_test set to_date=NULL,from_date='2001-01-01' where to_date='9999-01-01'; */ -- 自己写的 UPDATE titles_test SET to_date = CASE WHEN 展开全文
头像 Ding_123
发表于 2021-12-02 19:34:44
知识点 sql表格内容更新标准格式如下 update 表名 set 字段名1=值1 [字段名2=值2,……] where 条件表达式 需要更新to_date = NULL以及from_date = '2001-01-01' 筛选条件为to_date = '9999-01-01' 代码 up 展开全文
头像 说我这儿没问题啊的沸羊羊很有胆量
发表于 2024-07-26 10:08:09
UPDATE titles_test set to_date = case WHEN to_date = '9999-01-01' THEN NULL else to_date end , from_date = '2001-01-01'
头像 不做造粪机器
发表于 2024-07-22 23:42:35
update titles_test set to_date=null, from_date='2001-01-01' where to_date='9999-01-01'
头像 想潜水的迪恩想要offer
发表于 2024-09-06 16:24:24
UPDATE titles_test SET to_date = null,from_date = '2001-01-01' WHERE to_date = '9999-01-01' 将满足条件的列内容进行修改update + (表名称) + set + (列名称) = (修改后的新内容)whe 展开全文