sql >> データベース >  >> RDS >> Mysql

jdbcMySQLクエリで0000-00-00の日付を処理する方法

    @a_horse_with_no_name が好きです の答えですが、接続を制御できない場合は、クエリを変更してnullを返すことができます。 代わりに:

    select
        ...
        case when my_date_col = '0000-00-00' then null else my_date_col end as my_date_col,
        ...
    

    または、もう少し簡潔ですが、mysqlのみのオプション:

        if(my_date_col = '0000-00-00', null, my_date_col) as my_date_col
    


    また、返される日付に依存するコードを壊す可能性があるため、アプリケーション全体のJDBCの動作を変更する場合は注意が必要です。おそらくrs.getString(i)を使用します。 代わりは。確認するには、他のすべてのクエリを回帰テストする必要があります。



    1. 誰かがMySQLの外部キーを説明できますか

    2. SQL:2つのフィールドに基づいて重複を見つける方法は?

    3. Oracle:同じ行の異なる列から最大値を選択します

    4. SQL複数のテーブル間の多対多の関係