sqlserver时间类型数据的截取

sqlserver时间类型数据的截取,第1张

时间类型的截取不能直接left等,需要 convert成varchar等字符类型

select left(convert(varchar,add_time,120),10) from shikongdbdt_orders

select left(add_time,10) from shikongdbdt_orders

从sqlserver数据库中提取日期应该使用,并把年月日分别截取出来应该使用

数据库提供的时间函数

1:使用year,month,day用来提取年月日

如:select year(getdate()),month(getdate()),day(getdate())

2:使用DATEPART 获取年月日

如:select DATEPART('year',getdate()),DATEPART('month',getdate()),DATEPART('day',getdate())

----------------------------------------------------------------------------

如果字段是varchar类型的话,可以先将字段转换为日期类型。

使用类型转换函数convert或者cast

如:cast('2015-07-14' as datetime)

SQL SERVER查询时间是一年中第几周,使用函数 datepart()。

例:查询 ‘2017-1-1’是2017年的第几周,语句如下

select datepart(wk,'2017-1-1')

datepart函数说明

一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

二、语法:DATEPART(datepart,date)

三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:

四、实例演示

假设我们有下面这个 "Orders" 表:

我们使用如下 SELECT 语句:

SELECT DATEPART(yyyy,OrderDate) AS OrderYear,

DATEPART(mm,OrderDate) AS OrderMonth,

DATEPART(dd,OrderDate) AS OrderDay

FROM Orders

WHERE OrderId=1

结果:

GetDate() 得到当前日期。

Year() 年/Month() 月/Day() 日期

SELECT YEAR(GETDATE()) AS Y,MONTH(GETDATE()) AS M,DAY(GETDATE()) AS D

Y M D

----------- ----------- -----------

2010 4 29

SELECT CONVERT(CHAR(10),GETDATE(),120) AS CC

CC

----------

2010-04-29

日期类型属于间距尺度,可以进行加减运算,没有自然原点。

SELECT DATEDIFF(DAY,CAST('2009-01-01' AS DATETIME),CAST('2009-03-11' AS DATETIME)) AS d

d

-----------

69

SELECT DATEadd(DAY,33,CAST('2009-01-01' AS DATETIME)) AS d

d

-----------------------

2009-02-03 00:00:00000

对应函数方法等建议参见sqlserver的帮助文件,里边有详细的例子和说明。

不过这种厂家自定函数移植时候会很困难。

以上就是关于sqlserver时间类型数据的截取全部的内容,包括:sqlserver时间类型数据的截取、怎么获得dateTime的年月日并且拼接、SQL SERVER查询时间是一年中第几周的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9653804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存