我有一个mySQL数据库,大约有800行包含标题
月后年度
例如:2012年9月之后
这会在对数据输出进行排序时出现问题,如果数据为:
则会更好发布年度
我找到了可以导出mysql数据库的主题,并使用Notepad ++将mm-yy更改为yy-mm,但这些都是数字。
在mysql notepad ++或其他工具中是否有一个选项可以批量更改月份年份到年份?
答案 0 :(得分:2)
你可以通过以下两个步骤首先创建使用以下语句拆分字符串的函数:::我从http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/得到了这个语句
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
现在假设您的表名是test,而保存数据的字段是您可以在查询后运行的日期:::
UPDATE test SET dates = CONCAT('POST ', (SELECT SPLIT_STR(dates, ' ', 3)), ' ', (SELECT SPLIT_STR(dates, ' ', 2)));
答案 1 :(得分:1)
创建正则表达式并替换所有匹配项。如果您愿意,可以在Notepad ++中执行此操作。像这样:
查找:Post (\w+) (\d{4})
替换:Post \2 \1
编辑:另一种选择是在排序时为这些字段创建自定义比较器,以便您保持当前数据不变。