笔记64 SQL中的日期与时间函数
笔记64 SQL中的日期与时间函数
1 --SQL中的日期与时间函数 2 1. 当前系统日期、时间 3 select getdate() 4 5 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 6 例如:向日期加上2天 7 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 8 9 3. datediff 返回跨两个指定日期的日期和时间边界数。 10 select datediff(day,'2004-09-01','2004-09-18') --返回:17 11 12 4. datepart 返回代表指定日期的指定日期部分的整数。 13 SELECT DATEPART(month, '2004-10-15') --返回 10 14 15 5. datename 返回代表指定日期的指定日期部分的字符串 16 SELECT datename(weekday, '2004-10-15') --返回:星期五 17 18 6. day(), month(),year() --可以与datepart对照一下 19 20 select 当前日期=convert(varchar(10),getdate(),120) 21 ,当前时间=convert(varchar(8),getdate(),114) 22 23 select datename(dw,'2004-10-15') 24 25 select 本年第多少周=datename(week,'2004-10-15') 26 ,今天是周几=datename(weekday,'2004-10-15') 27 28 29 30 函数 31 32 参数/功能 33 34 35 36 GetDate( ) 37 38 返回系统目前的日期与时间 39 40 41 42 DateDiff (interval,date1,date2) 43 44 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 45 46 47 48 DateAdd (interval,number,date) 49 50 以interval指定的方式,加上number之后的日期 51 52 53 54 DatePart (interval,date) 55 56 返回日期date中,interval指定部分所对应的整数值 57 58 59 60 DateName (interval,date) 61 62 返回日期date中,interval指定部分所对应的字符串名称 63 64 65 参数 interval的设定值如下: 66 67 68 69 值 70 71 缩 写(Sql Server) 72 73 (Access 和 ASP) 74 75 说明 76 77 78 79 Year 80 81 Yy 82 83 yyyy 84 85 年 1753 ~ 9999 86 87 88 89 Quarter 90 91 Qq 92 93 q 94 95 季 1 ~ 4 96 97 98 99 Month 100 101 Mm 102 103 m 104 105 月1 ~ 12 106 107 108 109 Day of year 110 111 Dy 112 113 y 114 115 一年的日数,一年中的第几日 1-366 116 117 118 119 Day 120 121 Dd 122 123 d 124 125 日,1-31 126 127 128 129 Weekday 130 131 Dw 132 133 w 134 135 一周的日数,一周中的第几日 1-7 136 137 138 139 Week 140 141 Wk 142 143 ww 144 145 周,一年中的第几周 0 ~ 51 146 147 148 149 Hour 150 151 Hh 152 153 h 154 155 时0 ~ 23 156 157 158 159 Minute 160 161 Mi 162 163 n 164 165 分钟0 ~ 59 166 167 168 169 Second 170 171 Ss 172 173 s 174 175 秒 0 ~ 59 176 177 178 179 Millisecond 180 181 Ms 182 183 - 184 185 毫秒 0 ~ 999 186 187 188 access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似 189 190 举例: 191 1.GetDate() 用于sql server :select GetDate() 192 193 2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒 194 DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天 195 196 3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7) 197 DatePart('d','2005-7-25 22:56:32')返回值为 25即25号 198 DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天 199 DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年