我们有一个大型数据库,其中包含艺术上的元数据。“格式”字段具有高度X宽度的图像尺寸
2000 X 800
背景故事很有趣,尽管与任务没有密切关系:这是博物馆和艺术界在数字时代之前使用的一种古老惯例,其中描述/出处等始终以高度为先,宽度为第二来声明绘画的尺寸。大多数是纵向的,我想在这种物理背景下首先知道“事物”的高度是有意义的。
但是在当今的数字世界中,标准惯例是[宽度] X [高度]
任何人都可以制定一个读取此列的SQL查询/语句
item_format.format
并替换为
在同一字段/列中为900x2000?
我可以使用外部livecode脚本或PHP或类似的方法来执行此操作,但是如果有某种方法可以使用某种SQL语句来执行此操作,那似乎就太过激了……
(显然:)它需要将定界符设置为“ x”,然后解析字符串;以相反的顺序重新组装(项目2 +“ x” +项目1)并插入到同一列/字段中。该查询。
类似于@cFreed的答案,但我将使用内置函数SUBSTRING_INDEX()。更加清楚了。
BEGIN;
UPDATE yourtable
SET format = CONCAT(
SUBSTRING_INDEX(format, 'x', -1),
'x',
SUBSTRING_INDEX(format, 'x', 1)
);
-- do a spot check that it did what you intended:
SELECT format FROM yourtable LIMIT 20;
COMMIT;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句