C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: SQLのCASTについて
(過去ログ 165 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■95260
/ inTopicNo.1)
SQLのCASTについて
▼
■
□投稿者/ ファイター
(11回)-(2020/07/09(Thu) 09:48:36)
分類:[.NET 全般]
DECLARE @STIME DATETIME = '2020-07-01 08:05:16.335';
DECLARE @ETIME DATETIME = '2020-07-25 10:16:15.115';
SELECT cast(@STIME as time), cast(@ETIME as time)
結果が以下のように 2msec 増えますが、どうしてでしょうか?
08:05:16.3370000 10:16:15.1170000
引用返信
編集キー/
編集
■95261
/ inTopicNo.2)
Re[1]: SQLのCASTについて
▲
▼
■
□投稿者/ furu
(63回)-(2020/07/09(Thu) 10:11:24)
■
No95260
(ファイター さん) に返信
> 結果が以下のように 2msec 増えますが、どうしてでしょうか?
データベースとか、バージョンとか不明ですが
単にtimeが1msecの精度を持っていないのではないですか?
1msec毎増やした値でやってみると精度がわかると思います。
引用返信
編集キー/
編集
■95262
/ inTopicNo.3)
Re[2]: SQLのCASTについて
▲
▼
■
□投稿者/ Hongliang
(1057回)-(2020/07/09(Thu) 10:32:42)
https://docs.microsoft.com/ja-jp/sql/t-sql/data-types/datetime-transact-sql?view=sql-server-ver15
DATETIME型がそういう型だからですね。
ミリ秒まで正確に保持する必要があるならDATETIME型ではなくDATETIME2型を使いましょう。
TIME型は既定で小数点以下7桁まで保持できます。
引用返信
編集キー/
編集
■95263
/ inTopicNo.4)
Re[1]: SQLのCASTについて
▲
▼
■
□投稿者/ 魔界の仮面弁士
(2776回)-(2020/07/09(Thu) 10:38:45)
■
No95260
(ファイター さん) に返信
> DECLARE @STIME DATETIME = '2020-07-01 08:05:16.335';
> DECLARE @ETIME DATETIME = '2020-07-25 10:16:15.115';
> SELECT cast(@STIME as time), cast(@ETIME as time)
SQL Server でしょうか?
SQL Server の DATETIME 型 … 1/300 秒精度。秒未満は 3 桁精度で、.xx0、.xx3、または .xx7 秒単位に丸められます。
SQL Server の DATETIME2 型 … 100ナノ秒精度。秒未満は 7桁精度です。
SQL Server の SMALLDATE 型 … 分精度。29.998秒以下は切り捨て、29.999秒以上は切上げです。
SQL Server の DATE 型 … 日精度。時刻部は持ちません。
引用返信
編集キー/
編集
■95264
/ inTopicNo.5)
Re[3]: SQLのCASTについて
▲
▼
■
□投稿者/ ファイター
(12回)-(2020/07/09(Thu) 11:09:54)
皆さんありがとうございました。
DateTime だけではなく DateTime2 というのがあるんですね。
DateTimeOffset というのもあるみたいですけど
知りませんでした。
ミリ秒が欲しいので DateTime2 で事足ります。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-