英文:
(SQL) UPDATE all column data by specific time
问题
我想要从特定时间更新数据,而不是逐行更新数据库中的每一行。要如何从特定的“时间”列进行更新,如果“时间”列在(07.00.00-08.00.00)范围内,将在所有“info”列中显示“出勤”;如果时间在(17.00.00-19.00.00)范围内,将在所有“info”列中显示“回家”,所以不是逐行更新。
这是我的数据库:
id 名称 时间 信息
1 阿尔弗雷德 07.00.00 出勤
2 汤姆 07.00.00 出勤
3 托米 07.40.00 NULL
4 安娜 07.50.00 NULL
5 安娜 17.50.00 回家
6 安迪 07.50.00 A
我尝试使用更新数据,但只适用于单个数据时间。
英文:
i want update data from dcpecific time,from my db without update one by one from each rows.so how to update from specific "time" column if the 'time' column from (07.00.00-08.00.00) will show 'attandence' in all 'info' column.and if time (17.00.00-19.00.00) will show 'go home' in all "info" column,so not update one by one rows.
heres my db:
id nama time info
1 Alfred 07.00.00 attandence
2 Tom 07.00.00 attandence
3 Tomi 07.40.00 NULL
4 ana 07.50.00 NULL
5 ana 17.50.00 go gome
6 andy 07.50.00 A
ive try by using upadate data but just for one single data time.
答案1
得分: 0
更新 [tableName] 表中的信息为 '回家吧',时间范围在 '17:00:00' 到 '19:00:00' 之间。
英文:
Just this Code
Update [tableName] set info = 'go home' where time between '17:00:00' and '19:00:00'
答案2
得分: 0
代码依赖于您使用的数据库;sql
标签代表语言,但数据库有其特色,通常不遵循标准。
在您的情况下,time
列可能存在疑问,因为我们不知道它是什么 - 它是一个字符串(char
数据类型之一),date
(仅显示时间部分),或者... 因此,您可能需要对其应用某些函数,以便正确解释值。
然而,一般的方法可能涉及使用 case
表达式。这只是一个查询的示例 - 根据实际情况调整它,使其在您的数据库中实际运行。
update your_table set
info = case when time between '07.00.00' and '08.00.00' then 'attendance'
when time between '17.00.00' and '19.00.00' then 'go home'
end;
英文:
Code depends on database you use; the sql
tag represents the language, but databases have their flavors and (usually) don't follow the standard.
In your case, the time
column might be questionable because we don't know what it is - is it a string (one of char
datatypes), date
(with only time portion presented) or ... so you might need to apply certain function(s) to it so that values are correctly interpreted.
Though, general approach might involve the case
expression. This is just an example of a query - adjust it so that it actually works in your database.
update your_table set
info = case when time between '07.00.00' and '08.00.00' then 'attandence'
when time between '17.00.00' and '19.00.00' then 'go home'
end;
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论