sql - 如何在postgres中比较两个时间和选择时间小
问题描述
我有个问题。我有两个时间:time01: 11:00 和 time02: 11.02。因为它是由用户输入的,所以我不知道 time01 小还是 time02 小。示例:我有预订,当用户输入时,它看起来像:
Insert into table01("time01,"time02") values ("11:01",11:02)
我想使用 postgres sql create funtion("or sql...) 从用户那里获取数据并进行比较。我希望选择时间小,然后我从 time01 和 time02 得到时间小并做一些事情。我该怎么做。
解决方案
很难理解您的问题,但我相信即使用户输入不正确,您也可能希望按顺序存储时间?然后你可以使用least()
and greatest()
。第一个返回最小的参数,第二个返回最大的。所以你可以这样做:
INSERT INTO table01
(time01,
time02)
VALUES (least('11:01',
'11:02'),
greatest('11:01',
'11:02'));
编辑:
如果您只想保存较小的时间,只需使用least()
并将其保存在您想要的任何地方。假设目标是表中的一milestone
列milestones
:
INSERT INTO milestones
(milestone)
VALUES (least('11:01',
'11:02'));
推荐阅读
- c# - Unity3d - 更改天空盒颜色时反射不会更新
- perforce - perforce:如何检查最近(半年期间)修改的文件以及修改这些文件的人
- haskell - 如何返回在 Haskell 编程中交替组合两个函数列表产生的函数?
- android - 我可以在执行航点任务时向任何方向旋转飞机偏航吗?
- python - Django中多对多字段的PATCH
- ios - 使用 Socket 从浏览器读取请求后如何发送响应?(我正在使用 SwiftSocket)
- python - 我怎样才能让这段代码不仅仅包含循环中的第一次出现?
- c - 我的平衡支架解决方案有什么问题?
- android - 为什么广播接收器不能在服务内部连续工作
- java - Kafka Streams:刷新中间窗口结果,因为提交间隔和窗口时间不同步