私のSQL Serverテーブルでは、データ型がtimestamp
の列があり、C#でDateTime
に変換したいと考えています。タイムスタンプ(データベース)をDateTime(C#)に変換する
答えて
これはできません。
"タイムスタンプのデータ型はちょうど増分する数値であり、 は日付または時刻を保持しません。"
http://msdn.microsoft.com/en-us/library/ms182776%28v=SQL.90%29.aspx
できません。 timestamp
データ型はrowversion
の別名です。その二進数の増分値であり、それは、日付で構成されておらず、日付に基づいてもない。&時間。
私が正しい場合、実際にはrowversionはタイムスタンプのエイリアスです。 –
タイムスタンプ型が日付または時刻が、データベース内で一意であることが保証され、単純に生成された数の表現ではありません。そのため、直接変換することはできません。
ラフ変換を実行する唯一の方法は、新しいテーブルにタイムスタンプと共に現在の時刻を定期的に格納し、次に変換元のタイムスタンプに最も近い時刻を選択することです。
また、datetime型のテーブルに新しい列を追加し、行が変更されるたびにこれを更新することもできます。
Transact-SQLのタイムスタンプデータ型は、時間関連の値を持たないバイナリデータ型です。.....、タイムスタンプは日付も時刻もありません。.....できません。 BOLを参照してください
タイムスタンプ:
タイムスタンプは、データベース内で一意であることが保証されて自動的に生成された二進数を公開データ型です。タイムスタンプは、通常、表の行をバージョン・スタンピングするためのメカニズムとして使用されます。記憶容量は8バイトである。
私は何を試してみましたか?いくつかのコードを提供していますか?詳細は –
を記述してください。おそらく、これらのコメントの1つ、3の必要はありませんでした。 – SkonJeet