MSSQL查询之获取时间部分(mssql 获取时间部分)

查询时间部分,即从时间字段中只提取日期和时间的具体部分,在MSSQL中有很多获取时间部分的方法。一般来说,可以利用数据库内置函数处理,利用DatePart、DateName和DateFormat等函数,也可以利用以上函数的组合,使用substring函数等实现特定的功能。

首先,介绍MSSQL的DatePart函数的用法:

“`sql

select DatePart(datepart,date) as 获取时间部分 from 表


其中datepart为提取时间部分的类型,date为时间字段。有year,month,day,hour,minute,second等口令可以选择,具体根据时间格式填写。row为所要查询的数据,可以是具体数据表中的列,也可以是数据表中所有列,用*表示。具体语句如下:

```sql
SELECT DatePart(year, TimeInColumn) as 年份, DatePart(month, TimeInColumn) as 月份,
DatePart(day, TimeInColumn) as 日期, DatePart(hour, TimeInColumn) as 小时,
DatePart(minute, TimeInColumn) as 分钟, DatePart(second, TimeInColumn) as 秒数
FROM TableName

其次,介绍MSSQL的DateName函数的用法:

“`sql

Select DateName(datepart, date) as 查询时间部分 from 表


可以看出DateName函数的用法与DatePart函数类似,参数也是差不多的,只不过DateName函数的datepart参数的口令要求不是数字,而是以mm,dd,yyyy等表示法表示,返回的结果参数则是以字符类型表示,语句如下:

```sql
SELECT DateName(mm, TimeInColumn) as 月份, DateName(dd, TimeInColumn) as 日期,
DateName(yyyy, TimeInColumn) as 年份, DateName(hh, TimeInColumn) as 小时,
DateName(mi, TimeInColumn) as 分钟, DateName(ss, TimeInColumn) as 秒数
FROM TableName

最后,讲一下如何利用以上函数的组合,以及如何使用substring函数来查询特定的时间部分。

使用DatePart函数和DateName函数的组合可以实现任意组合来查询特定的时间部分,如:

“`sql

SELECT DateName(yyyy, TimeInColumn) + ‘-‘ + DateName(mm, TimeInColumn) + ‘-‘ +

DateName(dd, TimeInColumn) as [年-月-日]

FROM TableName


使用substring函数也可以实现目的,其格式为:

```sql
SELECT SUBSTRING(TimeInColumn, début, length) as 时间部分
FROM TableName

其中TimeInColumn为时间字段,début表示从何处开始提取,length表示提取多少部分。

这里就介绍了MSSQL中几种查询时间部分的方法,可以看到,MSSQL中的内置函数可以方便的实现时间字段的提取,可以让技术开发者在实际开发中更快的实现相关功能。


数据运维技术 » MSSQL查询之获取时间部分(mssql 获取时间部分)