2

SQL Server 2008 のテーブルにチェックイン時刻とチェックアウト時刻を格納しています。

時間を保存すると、正しく表示16:00:00されます。たとえば。

ただし、これをデータベースから引き出してページにバインドしてユーザーに表示すると、フォーマットは次のように表示されます16:00:00.0000000

したがって、精度は明らかに正確ですが、この目的には必要ありません。

試してみましたが、(明らかに) 機能せず、GoogleFormatDateTimeで Classic ASP および SQL Server 2008 データ型のものが見つかりません。Time

<%=(rsHotelFields.Item("checkintime").Value)%>

上記を変更する方法についてのアイデアはありますか?

ありがとうニック

4

1 に答える 1

3

既定では、SQL Server 2008で列をデータ型として定義すると、TIME可能な最大の精度が使用されます。小数秒の場合は7桁、100nsまでの精度です。

これは問題ありませんが、そのような精度が必要ない場合は、列を次のように定義できます。

YourColumn TIME(0)

その後、小数秒は保存されません。16:04:44この同じ値がデータベーステーブルから再度取得されて表示されます。

また、を使用TIME(0)すると、列のストレージサイズが5バイトから3バイトに減少します。

SQL Server 2008以降の日付と時刻のデータ型の詳細については、 MSDNを参照してください。

于 2013-02-17T10:21:23.680 に答える