zoukankan      html  css  js  c++  java
  • TSQL转换日期显示格式

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

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

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

    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), 32))

       
    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')

    执行结果:

  • 相关阅读:
    Qt之模型/视图(自己定义button)
    Spring入门--控制反转(IOC)与依赖注入(DI)
    iOS关闭键盘简单实现(objc/swift)
    事件传递机制总结
    Skill of vim
    Java中ArrayList和LinkedList区别
    java截取url中的值
    MySQL主从复制与主主复制
    MySQL读写分离
    Mysql-Proxy代理配置
  • 原文地址:https://www.cnblogs.com/insus/p/2094398.html
Copyright © 2011-2022 走看看