--create table NCC_Infos(
--INFO_ID int,
--Info_MangerAddTime datetime
--)
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(1,'2014-05-10 10:25:15.000')
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(2,'2014-04-13 10:26:21.000')
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(3,'2014-06-11 10:27:31.000')
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(4,'2014-06-30 11:05:08.000')
select INFO_ID,SUBSTRING(CONVERT(VARCHAR(30),DATEADD(MONTH,3,Info_MangerAddTime),121),1,8)+'19'+' '+CONVERT(VARCHAR(20),CONVERT(TIME,(CONVERT(VARCHAR(30),DATEADD(MONTH,3,Info_MangerAddTime),121))))Info_MangerAddTime
from NCC_Infos/*
INFO_ID Info_MangerAddTime
----------- -------------------------------
1 2014-08-19 10:25:15.0000000
2 2014-07-19 10:26:21.0000000
3 2014-09-19 10:27:31.0000000
4 2014-09-19 11:05:08.0000000
*/
--INFO_ID int,
--Info_MangerAddTime datetime
--)
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(1,'2014-05-10 10:25:15.000')
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(2,'2014-04-13 10:26:21.000')
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(3,'2014-06-11 10:27:31.000')
--insert into NCC_Infos(INFO_ID,Info_MangerAddTime) values(4,'2014-06-30 11:05:08.000')
select INFO_ID,SUBSTRING(CONVERT(VARCHAR(30),DATEADD(MONTH,3,Info_MangerAddTime),121),1,8)+'19'+' '+CONVERT(VARCHAR(20),CONVERT(TIME,(CONVERT(VARCHAR(30),DATEADD(MONTH,3,Info_MangerAddTime),121))))Info_MangerAddTime
from NCC_Infos/*
INFO_ID Info_MangerAddTime
----------- -------------------------------
1 2014-08-19 10:25:15.0000000
2 2014-07-19 10:26:21.0000000
3 2014-09-19 10:27:31.0000000
4 2014-09-19 11:05:08.0000000
*/
-- 月份加3
select INFO_ID,
dateadd(m,3,Info_MangerAddTime) 'Info_MangerAddTime'
from NCC_Infos/*
INFO_ID Info_MangerAddTime
----------- -----------------------
1 2014-08-10 10:25:15.000
2 2014-07-13 10:26:21.000
3 2014-09-11 10:27:31.000
4 2014-09-30 11:05:08.000(4 row(s) affected)
*/
-- 日期都变成19
select INFO_ID,
cast(stuff(convert(varchar,Info_MangerAddTime,120),9,2,'19') as datetime) 'Info_MangerAddTime'
from NCC_Infos/*
INFO_ID Info_MangerAddTime
----------- -----------------------
1 2014-05-19 10:25:15.000
2 2014-04-19 10:26:21.000
3 2014-06-19 10:27:31.000
4 2014-06-19 11:05:08.000(4 row(s) affected)
*/
-- 月份加3 日期都变成19
select INFO_ID,
cast(stuff(convert(varchar,dateadd(m,3,Info_MangerAddTime),120),9,2,'19')
as datetime) 'Info_MangerAddTime'
from NCC_Infos/*
INFO_ID Info_MangerAddTime
----------- -----------------------
1 2014-08-19 10:25:15.000
2 2014-07-19 10:26:21.000
3 2014-09-19 10:27:31.000
4 2014-09-19 11:05:08.000(4 row(s) affected)
*/
DATEADD(mm, 3, DATEADD(d, 19 - DAY(Info_MangerAddTime), Info_MangerAddTime)) AS Info_MangerAddTime
FROM NCC_Infos/*
INFO_ID Info_MangerAddTime
----------- -----------------------
1 2014-08-19 10:25:15.000
2 2014-07-19 10:26:21.000
3 2014-09-19 10:27:31.000
4 2014-09-19 11:05:08.000
*/
SQL 中DATEADD() 函数数的使用
在日期中添加或减去指定的时间间隔。
赞!!