sql查询:选择timeMade超过hours需要的所有用户

问题描述

|| 好吧,我有一张桌子
create table usersnew
(
user1 varchar (50) primary key,names varchar(50),lastname varchar(50),hoursneeded float)

create table hoursusers
(
user1 varchar(50),timeMade varchar(50),foreign key (user1) references usersnew(user1)
)
hoursneede是用户完成服务需要花费的时间。.“社会服务” 可能是400小时 现在timeMade是他的时间。 这是varchar,因为我将一些内容保存为\ 30:30:00 30小时 \ '23:30:00 \'是23小时30分钟 所以..我将它与时间跨度和其他东西转换为C#。 现在我需要查询 我向所有用户选择timeMade超过Hoursneede ... 如果他需要赚400,而他已经赚了'400:00:00 \',或者我要选择他。 但并非所有用户都需要同时进行。 另一个用户需要输入450或300我不知道...但是我想选择给用户 比他所需要的时间还多。.我该怎么办?我可以使用sql进行此查询, C#with loops-for,这样做...有什么主意吗?     

解决方法

        使用分钟代替,具有数字数据类型 您可以轻松地将分钟数转换为小时数(除以60) 数字数据更易于查询     ,           某个想法? 使用代表需要存储的数据类型的类型来存储数据。然后您的问题一下子解决了! 在SQL Server 2008中使用TIME数据类型;失败的: 您可以尝试将数据存储为“ 1”(在另一张表中进行此操作);尽管如果您开始需要每秒粒度,则会变得很丑陋: 如果需要每秒的粒度,请尝试将秒数存储在
INT
列中。 简介:您要在数据库中存储小时数,所以要这样做!不要仅仅因为您的应用程序经常传递字符串而存储字符串。您应该在应用程序的DAL中处理该问题。     ,        您不应该像varchar那样存储以获得更好的输出。让您根据自己的逻辑以某种数字或日期格式存储它们。  对于前。您可以使用datetime字段进行比较。您也可以为此编写一些存储过程,但决不建议使用.NET代码中的循环或条件进行检索。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...