社区
MS-SQL Server
帖子详情
求一sql语句,把日期convert成yyyymmdd后减若干天,可以自动成为合适日期?
louis_zheng
2003-11-30 04:21:34
例如convert后成为20031201,减一天,为20031130。这样的sql语句要怎么写?
...全文
584
10
打赏
收藏
求一sql语句,把日期convert成yyyymmdd后减若干天,可以自动成为合适日期?
例如convert后成为20031201,减一天,为20031130。这样的sql语句要怎么写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengdali
2003-12-01
打赏
举报
回复
DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。
语法
DATEADD ( datepart , number, date )
参数
datepart
是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
number
是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。
date
是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
返回类型
返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。
示例
此示例打印出 pubs 数据库中标题的时间结构的列表。此时间结构表示当前发布日期加上 21 天。
USE pubs
GO
SELECT DATEADD(day, 21, pubdate) AS timeframe
FROM titles
GO
下面是结果集:
timeframe
---------------------------
Jul 3 1991 12:00AM
Jun 30 1991 12:00AM
Jul 21 1991 12:00AM
Jul 13 1991 12:00AM
Jun 30 1991 12:00AM
Jul 9 1991 12:00AM
Mar 14 1997 5:09PM
Jul 21 1991 12:00AM
Jul 3 1994 12:00AM
Mar 14 1997 5:09PM
Nov 11 1991 12:00AM
Jul 6 1991 12:00AM
Oct 26 1991 12:00AM
Jul 3 1991 12:00AM
Jul 3 1991 12:00AM
Nov 11 1991 12:00AM
Jul 3 1991 12:00AM
Jul 3 1991 12:00AM
(18 row(s) affected)
pengdali
2003-12-01
打赏
举报
回复
sqlserver是会自动转换字符为日期类型的。
pengdali
2003-12-01
打赏
举报
回复
select dateadd(month,-24,'2002-12-14')
---------------------^^^减
select dateadd(day,-24,'2002-12-14')
----------------^^^天或year年
zjcxc
元老
2003-12-01
打赏
举报
回复
--如果是已经转换后的,要减若干天,再转换回去,就用:
declare @a varchar(10)
set @a='20031201'
set @a=convert(varchar,convert(datetime,@a,112)-1,112)
select 结果=@a
victorycyz
2003-12-01
打赏
举报
回复
要以日期类型进行加减,不要以字符型进行加减。
zjcxc
元老
2003-12-01
打赏
举报
回复
--先减,后转换就行啦.
select convert(varchar,getdate()-1,112)
flystar2
2003-12-01
打赏
举报
回复
set @date=getdate()-1
youngby
2003-11-30
打赏
举报
回复
select replace(convert(char(10), current_timestamp-1,102),'.','')
dlpseeyou
2003-11-30
打赏
举报
回复
(1) select replace(convert(char(10),getdate()-1,20),'-','')
(2) select replace(convert(char(10),dateadd(day,-1,getdate()),20),'-','')
saucer
2003-11-30
打赏
举报
回复
what is the data type for your column? if it is char/varchar/.., try something like
declare @date char(8)
set @date = '20031201'
select convert(char, dateadd(day, -1, convert(datetime,@date)), 112)
sql语句
截取时间 只显示 年,月,日的格式
sql语句
截取时间 只显示 年,月,日的格式
Sql
日期
时间格式转换
Sql
日期
时间格式转换,包含了将时间转换为如:2015-05-25的方法
SQL Server使用
convert
对datetime
日期
数据进行获取
此文档中详细记载了,SQL Server使用
convert
对datetime
日期
数据进行获取,希望可以帮到下载的朋友们!
一些常用经典
SQL语句
收集的一些比较常用的,经典的
SQL语句
,
SQL语句
创建Sql Server 下的作业调度.txt
通过语句执行作业,在作业失败时可以通过后台手动执行作业?非常方便。
MS-SQL Server
34,874
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章