0

タイトルを含む約800行のmySQLデータベースがあります

掲載月 年

例: 2012 年 9 月以降

これにより、データ出力を並べ替えるときに問題が発生します。データが次の場合はより適切です。

投稿年 月

mysql データベースをエクスポートし、Notepad++ を使用して mm-yy を yy-mm に変更できるトピックを見つけましたが、それらはすべて数字です。

mysql notepad ++または別のツール内で、Month YearをYear Monthに一括変更するオプションはありますか?

4

2 に答える 2

2

最初に、次のステートメントを使用して文字列を分割する関数を作成する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)));
于 2012-09-04T10:36:10.800 に答える
1

正規表現を作成し、すべての出現箇所を置き換えます。必要に応じて、これを Notepad++ で行うことができます。このような:

探す:Post (\w+) (\d{4})

交換:Post \2 \1

編集: 別のオプションは、並べ替え中にこれらのフィールドのカスタム コンパレータを作成することです。これにより、現在のデータをそのまま保持できます。

于 2012-09-04T10:23:00.850 に答える