我有这个表,其中有一些数据,我想要做的是替换日期中的每个“工作日”并只保留小时。日期的值为“星期六-13:00”我想要“13:00” '.
我设法用简单的方法做到这一点
update table_name set date = 'hour' where date = 'weekday-hour';
这似乎是多余的,我希望是否有更快的方法来做到这一点。另外,我显然会制定一个程序来做到这一点,但考虑循环每个工作日和 00:00-23:00 的时间似乎需要大量工作。
我发现了 REPLACE,但不知道我是否正确使用。
最佳答案
您可以使用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/