sql 查询 大于 并且距离 当前日期 最近的一条记录

sql 查询 大于 并且距离 当前日期 最近的一条记录,第1张

可以参考以下几种方法:

1、sqlserver的语法:

select * from table t where t.date = ( select min( date ) from table t1 where t1>= getdate() )

2、在oracle中可写成如下:

select * from 表 where RQ in (select min(RQ) from 表 where RQ>sysdate)

扩展资料:

SQL参考语句

增加列

Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项

删除列

Alter table table_name drop column column_name--从表中删除一列

添加主键

Alter table tabname add primary key(col)

参考资料来源:百度百科-结构化查询语言

参考资料来源:百度百科-SQL语句大全

不同数据库有不同的写法,不过思路是一样的,就是字段的日期形式减去2008-12-20,然后取绝对值的最小值。找到这个最小值就可以了。

枚举2个数据库的写法

MS SQL SERVER,

select * from table_name

where abs(column_name-convert(datetime,'20081220',112)) in (

select min(abs(column_name-convert(datetime,'20081220',112))) from table_name)

ORACLE

select * from table_name

where abs(column_name-to_date('20081220','yyyymmdd')) in (

select min(abs(column_name-to_date('20081220','yyyymmdd'))) from

table_name

)

注:column_name字段需要时日期类型,如果不是需要做转换

select a.* from 

表名 as a,

(select 物料,max(生效日期) as 最新生效日期 from 表名 group by 物料) as b

where a.物料=b.物料 and a.生效日期=b.最新生效日期

表名替换一下


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9524775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存