我是靠谱客的博主 朴实发箍,最近开发中收集的这篇文章主要介绍Sql Server 时间格式转换函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

整理了一下SQL Server里面可能经常会用到的日期格式转换方法,整合一个函数来处理。

调用:

select dbo.func_Print_DateFormat('yyyy-MM-dd',getdate()) 

函数:

 
GO

/****** Object:  UserDefinedFunction [dbo].[func_Print_DateFormat]    Script Date: 2020/4/22 10:37:47 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


/*    
日期格式处理       
日期:2015-8-28 13:37:45    
select dbo.func_Print_DateFormat('yyyy/MM/dd HH:mm',getdate())    
*/    
CREATE function [dbo].[func_Print_DateFormat]    
(    
 @FormatString varchar(50),    
 @Date datetime    
)    
returns nvarchar(100)    
begin    
 declare @Year varchar(4)    
 set @Year=year(@Date)    
     
 declare @Month varchar(2)    
 if month(@Date)<10    
  SET @Month='0'+cast(month(@Date) as varchar(1))    
 else    
  SET @Month=cast(month(@Date) as varchar(2))    
     
 declare @Day varchar(2)    
 if day(@Date)<10    
  SET @Day='0'+cast(day(@Date) as varchar(1))    
 else    
  SET @Day=cast(day(@Date) as varchar(2))    
     
 declare @Hour varchar(2)    
 if datepart(hour,@Date)<10    
  SET @Hour='0'+cast(datepart(hour,@Date) as varchar(1))    
 else    
  SET @Hour=cast(datepart(hour,@Date) as varchar(2))    
      
 declare @MI varchar(2)    
 if datepart(minute,@Date)<10    
  SET @MI='0'+cast(datepart(minute,@Date) as varchar(1))    
 else    
  SET @MI=cast(datepart(minute,@Date) as varchar(2))    
      
 declare @rst nvarchar(1000)    
 set @rst=    
 (    
  case @FormatString    
  when 'yyyy-MM' then convert(varchar(7),@Date,120)  
  when 'yyyy-MM-dd' then convert(varchar(10),@Date,120)    
  when 'yyyy-MM-dd HH:mm' then convert(varchar(16),@Date,120) 
  WHEN 'yyyy/MM/dd' THEN @Year+'/'+@Month+'/'+@Day
  WHEN 'MM-dd-yyyy' THEN @Month+'-'+@Day+'-'+@Year
  when 'MM/dd/yyyy' then @Month+'/'+@Day+'/'+@Year--convert(varchar(10),@Date,103)    
  when 'MM/dd/yyyy HH:mm' then --convert(varchar(16),@Date,103)    
   @Month+'/'+@Day+'/'+@Year+' '+@Hour+':'+@MI    
  when 'yyyy/MM/dd HH:mm' then --convert(varchar(16),@Date,111)    
   @Year+'/'+@Month+'/'+@Day+' '+@Hour+':'+@MI    
  when 'MM-dd-yyyy HH:mm' then --convert(varchar(16),@Date,105)    
   @Month+'-'+@Day+'-'+@Year+' '+@Hour+':'+@MI    
  end    
 )    
 if @rst =null    
  SET @rst=''    
  
 return replace(@rst,'1900-01-01','')  
end    


GO


 

最后

以上就是朴实发箍为你收集整理的Sql Server 时间格式转换函数的全部内容,希望文章能够帮你解决Sql Server 时间格式转换函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部