ความคิดเห็นที่ 1
CREATE FUNCTION [dbo].[TimeAgo2] ( @DateTime DATETIME ) RETURNS NVARCHAR(MAX) AS BEGIN IF (@DateTime IS NULL ) RETURN NULL;
DECLARE @Result NVARCHAR(MAX); DECLARE @Delta INT; DECLARE @Count INT; SET @Count = 1;
SET @Result = '';
SELECT @Delta = DATEDIFF(year, @DateTime, GETDATE()); SET @Result = @Result + CONVERT(NVARCHAR,@Delta) + 'Y'; IF (@Delta>1) SET @Count = @Count+1;
IF (@Count<2) BEGIN SELECT @Delta = (DATEDIFF(month,@DateTime, GETDATE())%12); IF (@Delta > 0 ) BEGIN SET @Result = @Result + ' ' + CONVERT(NVARCHAR,@Delta) + 'M'; SET @Count = @Count+1; END END
IF (@Count<2) BEGIN SELECT @Delta = (DATEDIFF(day,@DateTime, GETDATE())%360); IF (@Delta > 0 ) BEGIN SET @Result = @Result + ' ' + CONVERT(NVARCHAR,@Delta) + 'D'; SET @Count = @Count+1; END END
IF (@Count<2) BEGIN SELECT @Delta = (DATEDIFF(hour, @DateTime, GETDATE())%24); IF (@Delta > 0 ) BEGIN SET @Result = @Result + ' ' + CONVERT(NVARCHAR,@Delta) + 'H'; SET @Count = @Count+1; END END
IF (@Count<2) BEGIN SELECT @Delta = (DATEDIFF(minute,@DateTime, GETDATE())%60); IF (@Delta > 0 ) BEGIN SET @Result = @Result + ' ' + CONVERT(NVARCHAR,@Delta) + 'M'; SET @Count = @Count+1; END END
IF (@Count<2) BEGIN SELECT @Delta = (DATEDIFF(second,@DateTime, GETDATE())%60); IF (@Delta > 0 ) BEGIN SET @Result = @Result + ' ' + CONVERT(NVARCHAR,@Delta) + 'S'; SET @Count = @Count+1; END END
RETURN @Result;
END
จากคุณ :
C
- [
16 ส.ค. 54 17:25:50
A:192.168.0.82 X:203.155.164.34
]
|
|
|