时间FormatDate自定义函数

Posted skyfeng-826

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间FormatDate自定义函数相关的知识,希望对你有一定的参考价值。

Create FUNCTION [dbo].[FormatDate]
(@date as datetime,
@formatstring as varchar(100)
)
RETURNS varchar(100) AS
BEGIN
declare @datestring as varchar(100)

set @[email protected]

--year
set @datestring=replace(@datestring, ‘yyyy‘, cast(year(@date) as char(4)))
set @datestring=replace(@datestring, ‘yy‘, right(cast(year(@date) as char(4)),2))

--millisecond
set @datestring=replace(@datestring, ‘ms‘, replicate(‘0‘,3-len(cast(datepart(ms,@date) as varchar(3)))) + cast(datepart(ms, @date) as varchar(3)))

--month
set @datestring=replace(@datestring, ‘mm‘, replicate(‘0‘,2-len(cast(month(@date) as varchar(2)))) + cast(month(@date) as varchar(2)))
set @datestring=replace(@datestring, ‘m‘, cast(month(@date) as varchar(2)))

--day
set @datestring=replace(@datestring, ‘dd‘, replicate(‘0‘,2-len(cast(day(@date) as varchar(2)))) + cast(day(@date) as varchar(2)))
set @datestring=replace(@datestring, ‘d‘, cast(day(@date) as varchar(2)))

--hour
set @datestring=replace(@datestring, ‘hh‘, replicate(‘0‘,2-len(cast(datepart(hh,@date) as varchar(2)))) + cast(datepart(hh, @date) as varchar(2)))
set @datestring=replace(@datestring, ‘h‘, cast(datepart(hh, @date) as varchar(2)))

--minute
set @datestring=replace(@datestring, ‘nn‘, replicate(‘0‘,2-len(cast(datepart(n,@date) as varchar(2)))) + cast(datepart(n, @date) as varchar(2)))
set @datestring=replace(@datestring, ‘n‘, cast(datepart(n, @date) as varchar(2)))

--second
set @datestring=replace(@datestring, ‘ss‘, replicate(‘0‘,2-len(cast(datepart(ss,@date) as varchar(2)))) + cast(datepart(ss, @date) as varchar(2)))
set @datestring=replace(@datestring, ‘s‘, cast(datepart(ss, @date) as varchar(2)))

return @datestring
END

以上是关于时间FormatDate自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

使用JS,时间戳数值怎么转换成日期

Mysql 创建自定义函数

帆软自定义函数其他系统也要用怎么做

请教Java怎样自定义函数

oracle 自定义函数返回一个自定义整数列,如何在下一个自定义函数中,调用上一个函数

thinkphp 自定义函数放哪里