C# sql查询:选择TimeMake超过所需小时的所有用户
我有一张桌子C# sql查询:选择TimeMake超过所需小时的所有用户,c#,sql,sql-server,C#,Sql,Sql Server,我有一张桌子 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) ) hoursneed
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小时。。
时间就是他创造的时间。。
这是varchar,因为我将某些内容保存为30:00:00
30小时
“23:30:00”现在是23小时30分钟
所以我将其转换为C语言,使用timespan和其他东西。。
现在我需要问一个问题,在哪里
我选择所有用户的时间超过小时需要。。。
如果他需要赚400,而他已经赚了400:00:00或者更多,我会选择他。。
但并非所有用户都需要在相同的时间内完成。。
其他用户需要450或300我不知道。。。但我想选择给用户
比他所需要的时间还多。。我怎么做?我可以使用sql进行此查询并
带循环的c用于,用于执行。。。有什么想法吗
什么主意
使用表示需要存储的数据类型的类型存储数据。然后你的问题突然就解决了
; 否则:
您可以尝试将数据存储为浮点数,就像在另一个表中一样;尽管如果您开始需要每秒粒度,它会变得难看:
如果需要每秒粒度,请尝试将秒数存储在INT列中。
小结:您想在数据库中存储小时数,那么就这样做吧!不要仅仅因为应用程序频繁地传递字符串就存储它。您应该在应用程序的DAL中处理该问题
什么主意
使用表示需要存储的数据类型的类型存储数据。然后你的问题突然就解决了
; 否则:
您可以尝试将数据存储为浮点数,就像在另一个表中一样;尽管如果您开始需要每秒粒度,它会变得难看:
如果需要每秒粒度,请尝试将秒数存储在INT列中。
小结:您想在数据库中存储小时数,那么就这样做吧!不要仅仅因为应用程序频繁地传递字符串就存储它。您应该在应用程序的DAL中处理这个问题。使用分钟,而不是数字数据类型 您可以通过除以60轻松地将分钟转换为小时
而且数字数据更容易查询使用分钟代替,使用数字数据类型 您可以通过除以60轻松地将分钟转换为小时
而且数字数据更容易查询您不应该像varchar那样存储以获得更好的输出。让我们用您的逻辑以数字或日期格式存储它们。
例如,您可以使用datetime字段进行比较。您也可以为此编写一些存储过程,但决不建议使用.NET代码中的循环或条件进行检索。为了获得更好的输出,您不应该像varchar那样存储。让我们用您的逻辑以数字或日期格式存储它们。 例如,您可以使用datetime字段进行比较。您也可以为此编写一些存储过程,但决不建议使用.NET代码中的循环或条件进行检索