date数据

使用data类型的数据

        在数据库里我们经常会用到日期(时间)类型的的数据, 如果只是记录当然可以选择用char类型,但实际操作中我们经常会对时间类
     型的数据进行处理,SQL系统库为date类 提供了很多方法(函数),使用date类型能让我们处理时间类型数据超级方便.
     date类型格式:YYYY-MM-DD  如:2018-11-22
     time类型格式:HH:MM:SS.sss  如:13:57:38.100(.后面是毫秒)
     datetime类型格式::YYYY-MM-DD HH:MM:SS.sss 如2018-11-22-13:57:38.100.

date类型转为char类型

  转换函数:to_date();
  
  作用:将char类型数据转换为date类型数据
  
  具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。
  
  如:to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间.

date类型的数据处理函数

Getdate() 返回当前日期和时间

      没啥好说的,就是字面意思

Datepart() 返回日期/时间的单独部分

 具体用法:
    DATEPART(datepart,date)
 date 参数是合法的日期表达式,当然可以是日期(时间)的列名
 datepart 参数可以是下列的值:

在这里插入图片描述
如:
DATEPART(mm,getdate() ) 返回当前月份(两位整数类型,如 09 )
DATEPART(yyyy,getdate() ) 返回当前年份(四位整数类型,如 2018 )

Dateadd() 在日期中添加或减去指定的时间间隔

DateAdd ( I , N , D ) 返回一个日期加上一段期间后的日期

I是变化的时间单位:可以是 
缩写 单位 意思
q Quarter
m Month
d Day
w Weekday 星期
h Hour
m Minute
s Second
 N是变化值的大小,
 **注意:系统库并没有datesub()函数,N为负数时就是减了**
 
 D是待变化日期
 举个栗子:
 DateAdd ( "d", 10 , "2017-2-12 )的返回值为2017-2-22
 DateAdd ( "yyyy", 10 , "2017-2-12 )的返回值为2018-2-22
 以上用法很简单,值得一提的是这个函数不是简单的数字加减,而是根据实际时间推过去的
 例如:
 	  DateAdd ( "d", 20 , "2017-2-12 )的返回值为2017-3-4
 
      DateAdd ( "m", 1 , "2017-2-28 )的返回值为2017-3-31

Datediff() 返回两个日期之间的时间

    datediff()就是用来求两个时间点的时间差
    具体用法:datediff(I,start_time,end_time)
    I为设定两个日期之间的期间计算单位与上面函数的参数I意思差不多相同
    如:
    	datediff("d",'2017-7-31','2017-8-31')的返回值为31
    	
        datediff("m",'2017-7-31','2017-8-31')的返回值为1

Convert() 用不同的格式显示日期/时间

 convert(CONVERT ( data_type , expression , style )
 第一个参数为要转换后的数据类型
 第二个参数为要转换的表达式,可以是字段或表达式
 第三个参数为转换后的格式,如日期型换后有很多种格式,y yyy/mm/dd 等也可以是格式代号。
 常用格式的代号及其对应格式:
 如convert(char(30) , getdate() , yy-mm-dd )的返回值为2018-10-30
格式代码 格式
0或100 month dd yyyy hh:miampm
1 mm/dd/yy
2 yy.mm.dd
3 dd/mm/yy
4 dd.mm.yy
5 dd-mm-yy
6 dd month yy
7 month dd,yy
8 hh:mi:ss
9或109 month dd yyyy hh:mi:ss:mmmampm
10 mm-dd-yy
11 yy/mm/dd
12 yymmdd
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
104 dd.mm.yyyy
105 dd-mm-yyyy
106 dd month yyyy
107 month dd,yyyy
108 hh:mi:ss
110 mm-dd-yyyy
111 yyyy/mm/dd
12 yyyymmdd

猜你喜欢

转载自blog.csdn.net/jiwei_1234____5/article/details/83543485