VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: 流星飞舞

小问题,SQL里如何得到距离某个日期的天数?

[复制链接]

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-4-8 13:00:02 | 显示全部楼层
SELECT datediff(day,'要比较的日期',数据库欲比较的字段名)
FROM 表名
WHERE 条件
回复

使用道具 举报

0

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-8 17:45:01 | 显示全部楼层
Select
        DATEDIFF(Day,
                Convert(Datetime,
                        substring(
                                convert(varchar,getdate(),112)
                                ,1,4)
                        +substring(
                                Cast(Birthday As Varchar)
                                ,5,len(Birthday)
                ),112),
                getdate()
        )
回复

使用道具 举报

0

主题

52

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-4-9 18:15:01 | 显示全部楼层
SELECT DATEDIFF([day], CONVERT(datetime, SUBSTRING(CONVERT(varchar, GETDATE(),
      112), 1, 4) + SUBSTRING(CONVERT(varchar, BirthDate, 112), 5, LEN(BirthDate)), 112),
      GETDATE()) AS Expr1
FROM Employees
回复

使用道具 举报

0

主题

26

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-4-9 21:00:02 | 显示全部楼层
哎,LZ要加强锻炼,多分析,学会举一反三啊

Birthday是你的DateTime字段,我的例子只是处理了字符串的情况,你可以将两个
'20000101'字符串
换成
convert(varchar,Birthday,112)

用convert将日期转换成字符串再处理
回复

使用道具 举报

0

主题

52

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-4-9 21:45:01 | 显示全部楼层
具体运算没有细看 不知逻辑对不对 只是把datetime转换了一下类型而已 请lz自行比对
回复

使用道具 举报

2

主题

7

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
 楼主| 发表于 2020-4-23 10:15:01 | 显示全部楼层
多谢指教,再次感谢shygza
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表