2016-06-28 12 views
0

私の要件は、私が見つけたものよりもはっきりとしています - 私は日時の値を格納するテーブルを持っています。私はその値を取得し、それを日付と時刻に分けて、これらの値を整数値に変換する必要があります。これは私が取得しようとしている分野である:T-SQL:日時を日付と時刻に分離してから数値に変換する

release_date = 2016-06-28 07:04:17.960 

これには、同じように分割する必要があります

--numeric date as yyyymmdd from above value would be: 
@my_numeric_date = 20160628 

--numeric time as hhmmss from above value would be: 
@my_numeric_time = 70417 

はこれを達成するための比較的簡単な方法はありますか?

+1

これはあなたがやりたいことですか?それをDTに変換するのは厄介なことです。もしINTを望むなら、POSIX – scsimon

答えて

1

:45 :

CONVERT(INTEGER, CONVERT(VARCHAR, release_date, 112)), 
CONVERT(INTEGER, REPLACE(CONVERT(VARCHAR, release_date, 108), ':', '')) 

それは変数で使用する:

SELECT 
@my_numeric_date = CONVERT(INTEGER, CONVERT(VARCHAR, release_date, 112)), 
@my_numeric_time = CONVERT(INTEGER, REPLACE(CONVERT(VARCHAR, release_date, 108), ':', '')) 
+0

plus-1からちょうど秒数を使うことを検討したいと思います。答えは –

+0

@ Rです。 Horber - それは魅力のように働いた!! –

1
Declare @Date DateTime = GetDate() 

Select DateInt = (Year(@Date)*10000)+(Month(@Date)*100)+Day(@Date) 
     ,TimeInt = (DatePart(HH,@Date)*10000)+(DatePart(MINUTE,@Date)*100)+DatePart(SECOND,@Date) 

戻り

DateInt  TimeInt 
20160628 104510 

- 日時は2016年6月28日10:私はこれらの二つの文を使用し、私はこれを必要と最後の時間10.017

関連する問題