转自:lihan6415151528 Year Yy yyyy 年 1753 ~ 9999 Quarter Qq q 季 1 ~ 4 Month Mm m 月1 ~ 12 Day of year Dy y 一年的日数,一年中的第几日 1-366 Day Dd d 日,1-31 Weekday Dw w 一周的日数,一周中的第几日 1-7 Week Wk ww 周,一年中的第几周 0 ~ 51 Hour Hh h 时0 ~ 23 Minute Mi n 分钟0 ~ 59 Second Ss s 秒 0 ~ 59 Millisecond Ms - 毫秒 0 ~ 999 ======================================================== 1: getdate()函数 返回当前时间 select getdate()
----------- 4(所影响的行数为 1 行) =================================================================================8:year函数 返回一个整数,表示参数指定的 date 是哪一年 SELECT year('2007-04-30'); ----------- 2007(所影响的行数为 1 行) ============================================================================ 例如想要查询距离现在10天以内的记录 select * from tablename where datediff(day,你的日期字段,getdate())<10 例如想查询一段时间内的记录 select * from talbename where 你的日期字段 between 日期一 and 日期二
提示说是: UnKown column 'mm' in 'dield list' ....
-->应该没错的啊,改为这样试试 UPDATE tb SET AA=DATEADD(month,1,AA)
还是一样的问题 我找了下dateadd的用法,是不是针对datetime类型有所不一样呢???DateAdd 函数 返回已添加指定时间间隔的日期。 DateAdd(interval, number, date)参数 interval必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。number必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。date必选项。Variant 或要添加 interval 的表示日期的文字。 设置 interval 参数可以有以下值:设置 描述 yyyy 年 q 季度 m 月 y 一年的日数 d 日 w 一周的日数 ww 周 h 小时 n 分钟 s 秒
我用的是mysql 难道这不行????
UPDATE tb SET AA=DATEADD(mm,1,AA) where AA ='2008-02-01'
AA=DATEADD(xx,N,AA)
2008-02-01 01:02:23
2008-02-01 03:23:23
2008-02-01 02:23:23
.........这表中有字段AA,我想把你们所有记录的2008-02-01改为2008-03-01,时分秒不变,只改年月日。我想通过将字段AA的所有值加上一个天数,可是这样不知道怎么写?
谢谢
AA=DATEADD(mm,1,AA)
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
========================================================
1: getdate()函数
返回当前时间
select getdate()
------------------------------------------------------
2009-02-05 11:18:39.770(所影响的行数为 1 行)==========================================================
2:dateadd函数
第一个参数是要添加的类型,比如MM,第二个参数你要添加多少,第三个是你要往哪里添加
SELECT DATEADD(m,2,'2004-1-1')[DATELIHAN]
DATELIHAN
------------------------------------------------------
2004-03-01 00:00:00.000(所影响的行数为 1 行)SELECT DATEADD(YY,1,'2004-1-1')[DATELIHAN]
DATELIHAN
------------------------------------------------------
2005-01-01 00:00:00.000(所影响的行数为 1 行)
===================================================================================
3:datediff函数
返回参数二与参数三两个日期之间的差值 参数三-参数二 返回类型为参数一
select datediff(dd,'2009-12-27','2009-12-25')[DATELIHAN]
DATELIHAN
-----------
-2(所影响的行数为 1 行)
select datediff(yy,'2007-12-27','2009-12-25')[DATELIHAN]
DATELIHAN
-----------
2(所影响的行数为 1 行)
=================================================================================
4:datepart函数
返回参数二中对应的参数一的值
select datepart(mm,'2008-08-07')[月份]
select datepart(yy,'2008-08-07')[年份]
月份
-----------
8(所影响的行数为 1 行)年份
-----------
2008(所影响的行数为 1 行)========================================================================================
5:datename函数
返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2009-10-15') [星期]
星期
------------------------------
星期四(所影响的行数为 1 行)=======================================================================================6:day函数
返回一个整数,表示参数指定的 date 是该月份的哪一天
select day('2009-2-5')[第几天]
第几天
-----------
5(所影响的行数为 1 行)
=========================================================================================7:month函数
返回一个整数,表示指定参数的 date 是该年的哪一月
SELECT month('2007-04-30');
-----------
4(所影响的行数为 1 行)
=================================================================================8:year函数
返回一个整数,表示参数指定的 date 是哪一年
SELECT year('2007-04-30');
-----------
2007(所影响的行数为 1 行)
============================================================================
例如想要查询距离现在10天以内的记录
select * from tablename where datediff(day,你的日期字段,getdate())<10
例如想查询一段时间内的记录
select * from talbename where 你的日期字段 between 日期一 and 日期二
提示说是: UnKown column 'mm' in 'dield list'
....
UPDATE tb SET
AA=DATEADD(month,1,AA)
还是一样的问题
我找了下dateadd的用法,是不是针对datetime类型有所不一样呢???DateAdd 函数
返回已添加指定时间间隔的日期。 DateAdd(interval, number, date)参数
interval必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。number必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。date必选项。Variant 或要添加 interval 的表示日期的文字。 设置
interval 参数可以有以下值:设置 描述
yyyy 年
q 季度
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
n 分钟
s 秒
难道这不行????
AA=DATEADD(mm,1,AA)
where AA ='2008-02-01'
sql server楼上的应该可以解决了
mysql貌似是date_add(aa,interval 1 month)
oracle保密中,不轻传
UPDATE tb SET
AA=ADDDATE(AA, INTERVAL 1 MONTH);
找了好久才找到这个函数.