DatePart
2桁の時間を返すために使用しようとしています。01, 02, 03, ...10, 11, 12
何時間でも見たいです。これどうやってするの?
クエリを次のように入力した場合、
select DATEPART(hour,'1900-01-01 07:45:00.010')
それから私は答えを得ています7
。として答えを得る必要があります07
。
DatePart
2桁の時間を返すために使用しようとしています。01, 02, 03, ...10, 11, 12
何時間でも見たいです。これどうやってするの?
クエリを次のように入力した場合、
select DATEPART(hour,'1900-01-01 07:45:00.010')
それから私は答えを得ています7
。として答えを得る必要があります07
。
MySqlまたはSQL Server 2012からこれを試してください-
select FORMAT(DATEPART(hour,'1900-01-01 07:45:00.010'),'00')
2012 年より前の SQL Server の場合 -
select right('0' + DATEPART(hour,'1900-01-01 07:45:00.010'),2)
上記の*ソリューションをSQL Server 2008に対して機能させることができませんでした。
私にとってうまくいったのは:
select right('0' + convert(varchar,DATEPART(hour,'1900-01-01 07:45:00.010')),2)
戻り値
07
*上記のすべての SQL Server ソリューションは、「07」ではなく「7」を返しました。代わりにconvert(varchar...
、文字列から数値ではなく、文字列から文字列への連結を "0" + "07" にするために を使用しました。
FORMAT関数を試す(Sql Server 2012 でサポート) -
DECLARE @d DATETIME = '1900-01-01 07:45:00.010';
SELECT FORMAT(@d, 'hh' )
>07
MySQLでは、
SELECT LPAD(thing_to_pad, 2, '0')
MS SQL の場合 (使用していないと思います):
SELECT RIGHT('0' + thing_to_pad, 2)
mssql ではこのようにすることができます。
RIGHT('0' + RTRIM(DATEPART(dd, date)), 2)