select (cast(datediff(minute,'1900-01-01 07:03:00.000' ,'1900-01-01 10:35:00.000')
as decimal(18,4))/60)
小数点以下4桁に設定されていても、3.5333ではなく3.5333333が返されます
3.5333(小数点以下第4位)を返すのを手伝ってください
select (cast(datediff(minute,'1900-01-01 07:03:00.000' ,'1900-01-01 10:35:00.000')
as decimal(18,4))/60)
小数点以下4桁に設定されていても、3.5333ではなく3.5333333が返されます
3.5333(小数点以下第4位)を返すのを手伝ってください
/60 をキャストに入れ、それを 60.0 に変更して小数点を持たせます。
select (cast(datediff(minute,'1900-01-01 07:03:00.000' ,'1900-01-01 10:35:00.000')/60.0
as decimal(18,4)))
キャストする前に除算を行う必要があります。
select
cast(datediff(minute, '1900-01-01 07:03:00.000', '1900-01-01 10:35:00.000') / 60.0
as decimal(18,4))
次に、次のようになります。
3.5333
キャストしてから60による除算をdecimal(18,4)
行うと、フォーマットが「無効」になります-SQL Serverは、その除算のすべての数値精度を60で再度表示します...