8 Aralık 2009 Salı

datatime tarih ve saat yerdeğiştirmesi

Yakın bir zamanda çok farklı bir seneryoyla karşılaştım ve çözümümü paylaşmak istedim seneryo şöyle ; Microsoft SQL Server üzerindeki bir tabloda
VallTime , VallDate isimli  iki sutun vardı ve değerleri  2009-11-09 12:23:00.000  ve
2009-10-09 10:12:10.000  olan verilerin birinin tarih bilgisiyle diğerinin saat bilgisini alarak datetime biçiminde birleştirmekti. özetle ;
2009-11-09 12:23:00.000     +   2009-10-09 10:12:10.000   = 2009-10-09 12:23:00.000

birleştirmek için gerekli olan T-SQL

CREATE FUNCTION [dbo].[COMBINE_DTM]
(
@inDATE_DTM AS datetime,
@inTIME_DTM AS datetime
)
RETURNS datetime
AS
BEGIN
RETURN
CAST((ROUND(CAST(@inDATE_DTM AS float), 0, 1)) AS float) +
(CAST(@inTIME_DTM AS float) - (ROUND(CAST(@inTIME_DTM AS float), 0, 1)) + .00000001)
END
 
Bu Scaler-Valued fonksiyonun kullanımı ise şöyle ;
 
declare @calltime datetime , @calldate datetime , @Combinedatetime datetime
select @calldate = CallDate,@calltime = CallTime from tbJobs where JobID = @JobID and deleted = 0;

set @Combinedatetime= dbo.COMBINE_DTM(@calldate,@calltime)

Hiç yorum yok:

Yorum Gönder