MSSQL数据库时间格式化实现方法(mssql 时间格式化)
MSSQL数据库支持时间格式化功能,有很多种实现方法,它们可以很容易地灵活、方便地处理时间,而且有助于提高查询、存取、分析的效率。下面介绍了MSSQL数据库中的常用时间格式化实现方法。
### 一、MSSQL 用户定义函数(UDF)时间格式化
MSSQL数据库支持使用用户定义函数输出时间,该函数可以灵活和自由地格式化显示存储在数据库中的时间字段。下面是一个例子:
“`sql
CREATE FUNCTION dbo.Formatdate
(@date datetime ,
@format VARCHAR(20))
RETURNS VARCHAR(30) AS
BEGIN
RETURN (CONVERT(VARCHAR(30), @date, @format))
END
GO
— 调用该函数
SELECT dbo.Formatdate (GETDATE(), ‘yyyy-MM-dd’)
### 二、MSSQL FORMAT 函数格式化时间
MSSQL 数据库提供了 FORMAT 函数用于格式化时间,该函数有2个参数,第一个参数指定了要转换的时间,第二个参数指定了格式,具体格式取决于要转换成的格式类别,如:
```sql-- 以下语句把标准时间格式 2015-04-21T22:12:10 转换成 'yyyy-MM-dd hh:mm:ss' 格式
SELECT FORMAT(CAST('2015-04-21T22:12:10' as datetime2),'yyyy-MM-dd hh:mm:ss')
-- 把标准时间格式 2015-01-27T01:25:00 转换成 'dd/MM/yyyy' 格式SELECT FORMAT(CAST('2015-01-27T01:25:00' as datetime2),'dd/MM/yyyy')
-- 把标准时间格式 2018-06-15T19:45:00 转换成 'ddMMMyyyy' 格式SELECT FORMAT(CAST('2018-06-15T19:45:00' as datetime2),'ddMMMyyyy')
### 三、MSSQL CONVERT 函数格式化时间
CONVERT函数也可以用来格式化时间,该函数有3个参数,第一个参数指定了要进行转换的时间类型,第二个参数指定了转化时间的格式,第三个参数就是要转换的时间,如:
“`sql
— 以下语句把标准时间格式 2018-02-15T13 the time 格式
SELECT CONVERT(VARCHAR(30),’2018-02-15T13:25:00′,20)
— 把标准时间格式 2018-02-15T19:25:00 转换成 ‘MM/dd/yyyy’ 格式
SELECT CONVERT(VARCHAR(30),’2018-02-15T19:25:00′,101)
— 把标准时间格式 2018-06-15T19:45:00 转换成 ‘dd/MM/yyyy’ 格式
SELECT CONVERT(VARCHAR(30),’2018-06-15T19:45:00′,103)
### 四、MSSQL DATENAME 函数更改时间格式
MSSQL 为时间格式设计了 DATENAME 函数,该函数有两个参数,第一个参数指定了要改变的时间类型:yy,mm,dd,mi,ss等,第二个参数指定了要改变的时间,如,:
```sql-- 以下语句把 2010-07-05T09:30:00 转换成 '05-07-2010' 格式
SELECT CONVERT(VARCHAR(30), DATENAME(dd, '2010-07-05T09:30:00')+'-'+ DATENAME(mm, '2010-07-05T09:30:00')+'-'+
DATENAME(yy, '2010-07-05T09:30:00'),103)
-- 把 2018-01-27T01:25:00 转换成 '27/01/2018' 格式SELECT CONVERT(VARCHAR(30), DATENAME(dd, '2018-01-27T01:25:00')+'/'+
DATENAME(mm, '2018-01-27T01:25:00')+'/'+ DATENAME(yy, '2018-01-27T01:25:00'),103)
以上介绍了MSSQL数据库中几种常用的时间格式化实现方法,这些方法可以让开发者灵活、有效地格式化显示存储在数据库中的时间字段,以提升查询、存取和分析业务效率。