mysql - 替换mysql列中的字符串

标签 mysql

我有这个表,其中有一些数据,我想要做的是替换日期中的每个“工作日”并只保留小时。日期的值为“星期六-13:00”我想要“13:00” '.

我设法用简单的方法做到这一点

update table_name set date = 'hour' where date = 'weekday-hour';

这似乎是多余的,我希望是否有更快的方法来做到这一点。另外,我显然会制定一个程序来做到这一点,但考虑循环每个工作日和 00:00-23:00 的时间似乎需要大量工作。

我发现了 REPLACE,但不知道我是否正确使用。

sample

最佳答案

您可以使用SUBSTRING_INDEX找到时间之前的 - 并返回其右侧的所有内容。一些例子:

SELECT SUBSTRING_INDEX('Friday-1:00', '-', -1);
SELECT SUBSTRING_INDEX('Saturday-16:00', '-', -1)

输出:

1:00
16:00

要更新表,您可以使用以下查询:

UPDATE table_name SET `date` = SUBSTRING_INDEX(`date`, '-', -1)

关于mysql - 替换mysql列中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52173723/

相关文章:

php - 在上传到目录之前调整图像大小

php - 如何使用 codeigniter 上传多张图片并显示相关图片

javascript - 从数据库中获取嵌套 JSON 的最佳方法是什么?

mysql - 预订系统

php - 出于安全原因在 php 网站中跟踪用户详细信息

python - Pycharm 设置 Mysql 数据库驱动

mysql - org.hibernate.MappingException :Could not determine type for

c# - 创建表查询

php - 如何使用 Laravel 发出异步请求?

php - 如何在保证没有重复 ID 的情况下更新多个表?