T-SQL转换日期显示格式

一般情况之下,存储日期至数据库中,不必在意它的显示格式,只要是日期即可,在程序中显法时,才会去控制它的显示格式。

但是,当你是开发SQL程序,你要求不了前台程序员按照你的想法去做,把日期显示某种格式,他们只管调用你的存储过程。解决这样的问题,我们把SQL输出结果就控制为最终结果,有关这方面企业内网程式应用较多。

你可以参考下面SQL自定义函数,需要的地方调用即可。

ExpandedBlockStart.gif View Code
CREATE   FUNCTION   [ dbo ] . [ ConvertDate ]
(
  
@InputDate   DATETIME ,   -- 输入日期,或是原格式日期
   @DateFormat   NVARCHAR ( 10 )   -- 日期显示格式
)
RETURNS   NVARCHAR ( 10 )
AS
BEGIN   
   
DECLARE   @DtFormat    NVARCHAR ( 10 =   @DateFormat
   
IF   CHARINDEX ( ' YYYY ' @DtFormat >   0
      
SET   @DtFormat   =   REPLACE ( @DtFormat ' YYYY ' STR ( YEAR ( @InputDate ),  4 ))
   
ELSE
      
IF   CHARINDEX ( ' YY ' @DtFormat >   0
         
SET   @DtFormat   =   REPLACE ( @DtFormat ' YY ' SUBSTRING ( STR ( YEAR ( @InputDate ),  4 ),  3 2 ))

   
IF   CHARINDEX ( ' MM ' @DtFormat >   0
      
SET   @DtFormat   =   REPLACE ( @DtFormat ' MM ' STR ( MONTH ( @InputDate ),  2 ))

   
IF   CHARINDEX ( ' DD ' @DtFormat >   0
      
SET   @DtFormat   =   REPLACE ( @DtFormat ' DD ' STR ( DAY ( @InputDate ),  2 ))

   
SET   @DtFormat   =   REPLACE ( @DtFormat '   ' ' 0 ' )

   
RETURN   @DtFormat
END

 

实例操作,调用函数:

SELECT   [ dbo ] . [ ConvertDate ]  ( ' 2011/06/30 ' , ' MM/dd/yyyy ' )

 

执行结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值