日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL中常用的的时间跟日期函数

發(fā)布時(shí)間:2023/12/10 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL中常用的的时间跟日期函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
GETDATE函數(shù):

用途:前系統(tǒng)日期、時(shí)間

舉例:select getdate()

Dateadd函數(shù):

用途:在向指定日期加上一段時(shí)間的基礎(chǔ)上,返回新的 datetime值:

舉例:向日期加上2天,select dateadd(day,2,'2011-01-15') --返回:2011-01-17 00:00:00.000

?

Datediff函數(shù):

用途:返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù):

舉例:select datediff(day,'2008-08-01','2008-08-18') --返回:17

?

Datename函數(shù):

用途: 返回代表指定日期的指定日期部分的字符串:

舉例: select datename(weekday, '2011-01-27') --返回:星期四

?

Datepart函數(shù):

用途: 返回代表指定日期的指定日期部分的整數(shù):

舉例: select datepart(month, '2011-01-15') --返回 1

?

6.day(),month,year()—這個(gè)可以跟datepart對(duì)照一下

?

select當(dāng)前日期=convert(varchar(10),getdate(),120),

當(dāng)前時(shí)間=convert(varchar(8),getdate(),114)

?

?

select datename(dw,2011-01-27)

?

select本年第多少周=datename(week,2011-01-27),

今天是周幾=datename(weekday,2011-01-27)

*注釋:

這里整理了一些SQLserver里面可能經(jīng)常會(huì)用到的日期格式轉(zhuǎn)換方法:

1.Select convert(varchar, getdate(), 120 )

2011-01-27 18:22:22

2.Select convert(varchar(12) , getdate(), 111 )

2011/01/27

3.select convert(varchar(12) , getdate(), 112 )

20110127

4.select convert(varchar(12) , getdate(), 102 )

2011.01.27

5.select convert(varchar(12) , getdate(), 101 )

27/01/2011

6.select convert(varchar(12) , getdate(), 103 )

01/27/2011

7.select convert(varchar(12) , getdate(), 104 )

01.27.2011

8.select convert(varchar(12) , getdate(), 105 )

01-27-2011

9.select convert(varchar(12) , getdate(), 106 )

01 27 2011

10.select convert(varchar(12) , getdate(), 107 )

27 01, 2011

11.select convert(varchar(12) , getdate(), 108 )

18:22:22

以上這些都是一些常用的日期格式轉(zhuǎn)換。

?

在日常的工作中,我們常常會(huì)遇到這樣一些問題:當(dāng)空值“NULL”與非空值相加后,得到的確實(shí)空值,而不是我們想要的答案。

例如:1

?

last_name

first_name

a

null

?

根據(jù)上表,如果select last_name+first_name from table1

那么我們得到的值一定是一個(gè)NULL值,而不是我們想要的“a”。

2

?

?

last_name

first_name

a

?

?

?

而這個(gè)表中,如果 select last_name+first_name from table1

當(dāng)表沒有值的時(shí)候就可以得到我們想要的結(jié)果“a

?

綜上所述:

Null+Null=Null

Null+””=Null

?

SQLserver中,如果直接使一個(gè)空值與字符串相加,即NULL+‘’的結(jié)果也會(huì)是NULL值,有兩種方法使產(chǎn)生的結(jié)果為字符串:

使用:字段名=isnull(字段值,’’)+insull(串聯(lián)的字符串,’’)

設(shè)置 CONCAT_NULL_YIELDS_NULL

當(dāng)SET CONCAT_NULL_YIELDS_NULLON時(shí),串聯(lián)空值與字符串將產(chǎn)生NULL結(jié)果。例如,SELECTabc+NULL將生產(chǎn)NULL。當(dāng)SET CONCAT_NULL_YIELDS_NULLOFF時(shí),串聯(lián)空值與字符串將產(chǎn)生字符串本身(空值作為空字符串處理)。例如 SELECTabc+NULL將生成abc

將字符串字段的缺省值設(shè)為“”

?

SD022

轉(zhuǎn)載于:https://www.cnblogs.com/liuzhuqing/archive/2013/03/19/7480589.html

總結(jié)

以上是生活随笔為你收集整理的SQL中常用的的时间跟日期函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。