SQL - 如何用单个未来日期时间替换一系列日期时间?
这是一个基本的 SQL 日期时间问题,但我不想弄乱我的数据库!
例如,在 MySQL 数据库中,如果我想替换其中一个表的单个列中日期 X 和日期 Y 之间的所有日期时间值 - 执行此操作的 SQL 命令是什么?示例:我想将本月 1 月的所有日期时间值替换为未来 3 月的日期/时间。
由于其他 StackOverflow 问题,我知道如何选择一系列日期时间 - 例如:
select * from table where DatetimeField between '22/02/2009 09:00:00.000' and '23/05/2009 10:30:00.000'
但是如何向其中添加 Replace() 函数?
预先感谢您的帮助 - 我已经做了数据库备份以防万一!
This is a basic SQL datetime question, but I don't want to mess my database up!
For example, in a MySQL database, if I want to replace all datetime values between date X and date Y in a single column in one of my tables - what's the SQL command to do it? Example: I want to replace all datetime values in January of this month with a future date/time in March.
I know how to select a range of datetimes thanks to other StackOverflow questions - example:
select * from table where DatetimeField between '22/02/2009 09:00:00.000' and '23/05/2009 10:30:00.000'
But how to add the replace() function to this?
Thanks in advance for your help - I've made a database backup just in case!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您不需要函数,一个简单的 UPDATE 语句就可以解决问题。如果我正确理解你的问题,这里是一些带注释的示例 SQL 代码:
You don't need a function, a simple UPDATE statement does the trick. Here is some commented sample SQL code, if I understood your question correctly:
您可以使用
update
查询来更新表中的值。这将过滤掉具有所选日期的记录,并在字段中放置新日期:You use an
update
query to update values in the table. This will filter out the records with the selected dates and put a new date in the field:Between 包含在内,因此如果您想排除确切的结束日期,您应该使用 >= 和 <句法。
Between is inclusive, so if you want to exclude the exact end date you should use the >= and < syntax.