* 日付・時刻 [#t2e3e0f2]
** PostgreSQLのDatime型/Date型/Time型のC#上での扱い [#m71c3120]
C#上ではすべてDatetimeクラスとして扱われる。PostgreSQLのそれぞれの型の値は以下のように変換される。
: Datime型 | 2014/02/17 10:30:40
: Date型 | 2014/02/17 00:00:00
: Time型 | 0001/01/01 10:30:40
** DB上の値がNULLの場合のC#上での扱い [#ed80abf8]
public class Foo {
public DateTime Dt { get; set; }
}
var row = cn.Query<Foo>(sql).First(); // row.Dt => {0001/01/01 0:00:00}
DateTimeで指定したカラムがDB上でNULLの場合、C#上では {0001/01/01 0:00:00} になる。
- DateTimeで指定したカラムがDB上でNULLの場合、C#上では {0001/01/01 0:00:00} になる。
- なお、NULL許容型DateTime?で指定した場合は、C#上でもNULLになる。
- また、クラスを指定せずにクエリを実行した場合は(cn.Query(sql).First())、C#上ではNULLになる。