3

以下のコードは、時間を私のニーズに合った形式に変換する限り、私がやりたいことを実行しています。ただし、分と秒が 1 桁の場合、書式は見栄えがよくありません。必要な分と秒を埋めるようにコードを調整したいと思います。助言がありますか?繰り返しますが、可能な限り既存のコードを維持したいと考えています。
ありがとうございました!

SELECT SUBSTRING(CONVERT(CHAR(14), DateTimeRaw, 100), 13, 2)  + ':' + 
CONVERT(nvarchar, DATEPART(minute, DateTimeRaw)) + ':' + 
CONVERT(nvarchar, DATEPART(second, 
DateTimeRaw)) + '.' + CONVERT(nvarchar, DATEPART(ms, DateTimeRaw) / 100)
 + ' ' + CONVERT(nvarchar, CASE WHEN datepart(hour, DateTimeRaw) 
< 12 THEN 'AM' ELSE 'PM' END)   AS AGMPLUSMSTIME
FROM RAW
4

2 に答える 2

4
RIGHT('00' + CONVERT(nvarchar, DATEPART(minute, DateTimeRaw)), 2)

基本的に: 2 つのゼロを時間値に連結し001、 、0023、または0059のようにしてから、右端の 2 文字を取り、それぞれ01,を残します。2359

于 2011-11-22T15:17:30.950 に答える
0

これはどう:

select right(stuff(convert(varchar(26), getdate(), 9), 23,2, ' '), 13)

結果:

 4:35:15:4 PM

例として、フィールドの代わりに getdate() を使用しました

于 2011-11-22T15:35:35.057 に答える