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为所要查询的数据,可以是具体数据表中的列,也可以是数据表中所有列,用*表示。具体语句如下:
```sqlSELECT 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等表示法表示,返回的结果参数则是以字符类型表示,语句如下:
```sqlSELECT 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函数也可以实现目的,其格式为:
```sqlSELECT SUBSTRING(TimeInColumn, début, length) as 时间部分
FROM TableName
其中TimeInColumn为时间字段,début表示从何处开始提取,length表示提取多少部分。
这里就介绍了MSSQL中几种查询时间部分的方法,可以看到,MSSQL中的内置函数可以方便的实现时间字段的提取,可以让技术开发者在实际开发中更快的实现相关功能。