1

MySQLでphpMyAdminを使用して、特定の日付条件を満たす行をフェッチするためにこの単純なクエリを試しています。

select * 
from student_invoice
where date_generated < '2012-01-01'

date_generatedは日付型です。phpMyAdminで次のようなエラーが発生します。

ERROR: Unclosed quote @ 64 STR: '

すべての引用符を閉じたので、意味がありません。phpMyAdminのバージョンは2.11.9.6です。

4

4 に答える 4

2

私の他の答えとは無関係なので、新しい答えを追加します。

このbugzillaの投稿によると、あなたのバージョンはこのバグに悩まされています!

2.11.11以降にアップグレードすると、この問題が修正されます。

于 2012-11-08T01:13:22.447 に答える
1

これはばかげているように聞こえるかもしれませんが、日付を二重引用符で囲んでみましたか?

SELECT * 
FROM sometable
WHERE somedatecolumn < "2012-01-01"
于 2012-11-08T00:53:11.550 に答える
0

それらが実際には日付を囲む一重引用符であり、バッククォートではないことを確認してください。

于 2012-11-08T00:45:54.783 に答える
0

特定のエラーに精通していない。ただし、静的な日付を日付形式にキャストして、日付列形式と一致することを確認することもできます。または両方をキャストしますか?すなわち:

  where cast(somedatecolumn as DATE) < cast('2012-01-01' as DATE)

でもうまくいかない気がします。だから多分これ?:

  where somedatecolumn < cast('2012-01-01' as DATE)
于 2012-11-08T00:46:29.320 に答える