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

但是,当你是开发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')

 

执行结果:

T-SQL转换日期显示格式

 

相关文章:

  • 2022-12-23
  • 2021-08-23
  • 2022-12-23
  • 2021-07-23
  • 2021-07-06
猜你喜欢
  • 2022-12-23
  • 2021-12-01
  • 2021-10-20
  • 2022-01-10
  • 2022-01-04
相关资源
相似解决方案