关于sql数据库超市商品管理过期的问题

你说的没错,确实是这样。
我前几年在一家小公司做项目,就是做超市会员系统的,他们之前那个系统就挺简单的。
就是数据库里每个商品、每个会员信息,都带个“过期日期”这个字段。

他们那个检索程序,就是我写的,每次用户去查什么东西,或者后台管理员要报表,程序就会去数据库里把所有“过期日期”比当前系统日期小的都提出来,然后显示在屏幕上,旁边还打个大红叉叉,特别醒目。

我记得那时候,每天早上上班,老板就会让我看看昨晚有没有什么商品过期了,我打开那个报表,一看,哎哟,这个月牛奶又快过期一批,那个月的酸奶也快了,我就赶紧跟采购说,赶紧补货。
要是没有那个程序自动提醒,我真忘了,光靠人工一个个查,那几百个SKU,累死个人。

所以你说得对,光靠数据库字段定义是不够的,还得有程序跑起来,天天给你盯着,哪个快过期了,哪个真的过期了,都给你列出来了,不然光靠人看,肯定看不过来。

MySQL日期比较方法详解mysql两日期比较

直接用 BETWEEN 比较连续日期。
WHERE date_column BETWEEN '2 02 3 -01 -01 ' AND '2 02 3 -1 2 -3 1 '。
大白话:查某年全数据。
具体项目:订单表 orders,时间字段 order_date。
SELECT FROM orders WHERE order_date BETWEEN '2 02 3 -01 -01 ' AND '2 02 3 -1 2 -3 1 '。
时间跨度:整年,数字 2 02 3 也可以用 >= 和 <=。
WHERE created_at >= '2 02 3 -01 -01 ' AND created_at <= '2 02 3 -1 2 -3 1 '。
项目:用户表 users,创建时间 created_at。
时间点:精确到天,数字 2 02 3 -01 -01 验证:这个方法在 MySQL 5 .7 + 都能用。
不确定但经验是这样:性能看数据量,index 的话千万级数据 BETWEEN 快。
你自己掂量。

数据库Function 输入一个日期 计算出距离当前系统日期的天数

直接说,你写的函数有语法错误。

betweenDays函数名在删除时写错。

tabcmessalot函数返回值类型real,但返回datediff结果。

datediff(day,@code,getdate())参数顺序写反。

getdate()是SQL Server函数,其他数据库可能不同。

执行函数要加()。

你这个函数是计算今天和指定日期差多少天?
先改语法错误吧。