3

私は次のことをしようとしています:

  • GetDate()分のみを表示するフォーマット
  • varchar分のみを表示するように列をフォーマットする
  • と列HH:MM:SSから現在の時刻を減算しGetDate()ますVarChar

これは私が持っているものです

CONVERT(VARCHAR(5), GETDATE(), 108) - substring(convert(varchar(20), ColumnName, 9), 13, 5)

しかし、私はこのエラーが発生しており、助けが必要です:

オペランドのデータ型 varchar は、減算演算子には無効です。

4

2 に答える 2

2

あなたが欲しいのはdatepart(mi)です。

getdate() の分を取得するには:

select datepart(mi, getdate())

日時から分数を減算するには:

select dateadd(mi, - <minutes>, <datevalue>)

getdate() から時刻を削除するには、日付にキャストするだけです (より新しいバージョンの SQL Server の場合):

select cast(getdate() as date)

差を分単位で取得するには、datediff を使用します。

select datediff(mi, <datestart>, <dateend>)

あなたは本当に何を達成しようとしていますか?

于 2012-08-14T15:05:45.680 に答える
0

これがあなたが望むものだと思います:

declare @str varchar(30)
set @str = '2012-08-14 10:12:02.690'

select datediff(minute, cast(@str as datetime), getdate())

getdate() = '2012-08-14 11:21:10.250'合計時間が 60 を超えている場合の結果:

69
于 2012-08-14T15:21:40.823 に答える