嗨,我是新来我的sql我正在尝试更新我的列b\u id通过从date1列获取值b\u id是longtext date1是datetime类型
SELECT date1,b_id, DATE_FORMAT(date1'%Y/%m/%d') AS tostore
FROM tbl1 WHERE
b_id = 'ID/2018/5/13/000111'
OR
b_id = 'ID/2018/5/13/000222'
当前数据
date1 b_id tostore
2018-12-20 ID/2018/5/13/000111 2018/12/20
2018-10-30 ID/2018/5/13/000222 2018/10/30
我想在bu id中使用tostore列,但是如果我使用这个,我不会保留bu id的任何数据,我希望id/和最后的g数字保持不变,我非常感谢任何建议谢谢
UPDATE tbl1
SET b_id = DATE_FORMAT(date1,'%Y/%m/%d') WHERE
b_id = 'ID/2018/5/13/000111'
OR
b_id = 'ID/2018/5/13/000222';
Desired Output
date1 b_id tostore
2018-12-20 ID/2018/12/20/000111 2018/12/20
2018-10-30 ID/2018/10/30/000222 2018/10/30
1条答案
按热度按时间9jyewag01#
你可以用
CONCAT
以及SUBSTRING_INDEX
函数来获取所需的列值,如下所示。CONCAT
按给定顺序组合给定的字符串集。SUBSTRING_INDEX
捕获文本的一部分。经过-1
最后一个参数有助于捕获b_id
从右侧捕获列。希望这有帮助。