将月份替换为月份

时间:2012-09-04 10:16:32

标签: mysql notepad++

我有一个mySQL数据库,大约有800行包含标题

月后年度

例如:2012年9月之后

这会在对数据输出进行排序时出现问题,如果数据为:

则会更好

发布年度

我找到了可以导出mysql数据库的主题,并使用Notepad ++将mm-yy更改为yy-mm,但这些都是数字。

在mysql notepad ++或其他工具中是否有一个选项可以批量更改月份年份到年份?

2 个答案:

答案 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

编辑:另一种选择是在排序时为这些字段创建自定义比较器,以便您保持当前数据不变。