私はこれを検索しましたが、私の文字列は私が見つけることができる例とは異なる形式になっているようです。
として設定された時間nvarchar(50)
と次のような値があります1535
これらの列が2つあり、2つを比較して、何分の違いがあるかを調べたいと思います。文字列を時間に変換するにはどうすればよいですか?
私はこれを検索しましたが、私の文字列は私が見つけることができる例とは異なる形式になっているようです。
として設定された時間nvarchar(50)
と次のような値があります1535
これらの列が2つあり、2つを比較して、何分の違いがあるかを調べたいと思います。文字列を時間に変換するにはどうすればよいですか?
一方通行;
declare @t1 nvarchar(4) = '1535'
declare @t2 nvarchar(4) = '1700'
select
datediff(minute,
cast(stuff(@t1, 3, 0, ':') as time),
cast(stuff(@t2, 3, 0, ':') as time))
>>85
すべての値を次のように変換できると仮定しますTime
。
DECLARE @val1 as NVARCHAR(50);
DECLARE @val2 as NVARCHAR(50);
SET @val1 = '1535'; SET @val2 = '1655';
SELECT DATEDIFF(minute,convert(time,LEFT(@val1,2)+':'+RIGHT(@val1, 2)+':00'), CONVERT(time,LEFT(@val2,2)+':'+RIGHT(@val2, 2)+':00'))
If you need the difference in minutes
、これはwithout converting
あなたの価値観の方法ですto Datetime
。
nvarchar values are convertible to int
すべてとそれらがにあると仮定すると24h format
、の違い c2-c1 in Minutes
:
select ((c2*1-c1*1)/100)*60 + (c2*1-c1*1)%100 inMinutes
from t