0

たとえば、次のフィールドを持つMySQLデータベースにテーブルがあります。

id, client, date

タイプは次のとおりです。

id -> int(20) unsigned, client -> varchar(100), date -> varchar(20)

データ例として:

'234', 'John Doe', '08/13'

'112', 'Joanna Doe', '08/12'

mm/YY (09/13) として今日の日付以降のすべてのレコードを選択したいのですが、誰か助けてもらえますか?

4

2 に答える 2

2

MySQL の str_to_date 関数を使用できます。

select * from table where str_to_date(date,'%m/%Y') > sysdate;

編集:

例:

select date from mytable where str_to_date(date,'%m/%Y') > str_date('01/13','%m/%Y');
于 2013-01-09T14:23:14.437 に答える
1
select *
from yourtable
where
  (year(curdate()) % 1000 < substring_index(date, '/', -1))
  or
  (year(curdate()) % 1000 = substring_index(date, '/', -1)
   and month(curdate()) < substring_index(date, '/', 1))
于 2013-01-09T14:27:47.670 に答える