0

これを2回試してみてください。わかりません。

$today に対して卒業日が過ぎた卒業生を削除したいので、データベース内の日付が過去のものだけにレコードセットを制限したいと考えています。

私のテーブルには、gradMonth と gradYear が varchar、つまり 2013 年 6 月として格納されます。

だから、$today = strtotime(date("Y-F"))。これは機能し、期待どおりに 1378008000 を生成します。

gradMonth、gradYear のテーブル フィールド値を連結し、それらを と比較したいと考えてい$todayます。だから私のクエリは次のとおりです。

SELECT 
    gradYear, gradMonth 
FROM 
    myTable 
WHERE 
    UNIX_TIMESTAMP(CONCAT_WS('-', gradYear, gradMonth, '01')) < '$today'

奇妙なことに、これには一貫して 2014 年 10 月と $today より小さくない他の月のレコードが含まれており、その理由はわかりません。

あなたが与えることができるアイデアや助けをありがとう.

4

2 に答える 2

1

あなたはこれを行うことができます:

SELECT gradYear, gradMonth FROM myTable WHERE date_format(CONCAT(gradYear,'-',gradMonth,'-01 00:00:00'),'%Y-%m') < date_format(CURRENT_TIMESTAMP(),'%Y-%m')
于 2013-09-16T20:56:13.077 に答える