C# sql server查找日期差异(以天为单位)输入日期格式为dd/mm/yyyy

C# sql server查找日期差异(以天为单位)输入日期格式为dd/mm/yyyy,c#,sql-server,sql-server-2008,c#-4.0,C#,Sql Server,Sql Server 2008,C# 4.0,我正在开发一个项目,希望我的日期格式为dd/mm/yyyy(印度格式/英国格式)。在我的数据库表中,我对该字段使用了字符串数据类型 我有两个字段In_date和Out_date,通过这两个字段我计算总天数 现在我想计算这两个日期之间的差值,以天为单位。SQL Server的默认格式为mm/dd/yyyy。每当我执行 select Datediff(DAY, 'In_date', 'Out_date') from Table; 将日期从/转换为字符串时出错。但当我执行 select Datedi

我正在开发一个项目,希望我的日期格式为
dd/mm/yyyy
(印度格式/英国格式)。在我的数据库表中,我对该字段使用了字符串数据类型

我有两个字段In_date和Out_date,通过这两个字段我计算总天数

现在我想计算这两个日期之间的差值,以天为单位。SQL Server的默认格式为
mm/dd/yyyy
。每当我执行

select Datediff(DAY, 'In_date', 'Out_date') from Table;
将日期从/转换为字符串时出错。但当我执行

select Datediff(DAY, '05/28/2013', '05/26/2013') from Table;
它给了我完美的答案


请提供帮助。

您应该在数据库中只将日期存储为
DateTime
s。这将允许您正确比较日期。格式化应该在应用程序层中处理

您应该在数据库中只将日期存储为
DateTime
s。这将允许您正确比较日期。格式化应该在应用程序层中处理

它试图将列名转换为日期,而不是日期。删除“In_date”和“Out_date”左右的撇号,它会将它们识别为列而不是字符串

select Datediff(DAY, In_date, Out_date) from Table

它试图将列名转换为日期,而不是日期。删除“In_date”和“Out_date”左右的撇号,它会将它们识别为列而不是字符串

select Datediff(DAY, In_date, Out_date) from Table
试试这个-

SET DATEFORMAT mdy
SELECT DATEDIFF(DAY, '05/28/2013', '05/26/2013')
但最好使用ISO日期格式(ymd):

试试这个-

SET DATEFORMAT mdy
SELECT DATEDIFF(DAY, '05/28/2013', '05/26/2013')
但最好使用ISO日期格式(ymd):

试试这个:

SET DATEFORMAT dmy;

select Datediff(DAY, In_date, Out_date) from Table;
试试这个:

SET DATEFORMAT dmy;

select Datediff(DAY, In_date, Out_date) from Table;

是的,兄弟,你是对的,但客户要求在不同的字段中存储日期,在不同的字段中存储时间,格式为dd/mm/yyyy,时间为hh:mm。在这种情况下,在第一个示例中,删除列名周围的撇号,这样应该可以。。。但它的设计很糟糕。告诉您的客户,他们不应该规定技术要求:-)ya bro。我已经告诉他们很多次了,但他们不听。“客户至上”到底该怎么办?如果客户要求的是不合理或不恰当的技术方法,则向他们收取相应的费用。为他们设定一个较低的价格,让你正确地做事情,如果他们口述了应该处理的基本技术细节,那么就设定一个较高的价格。是的,兄弟,你是对的,但客户要求将日期存储在不同的字段中,时间存储在不同的字段中,格式为dd/mm/yyyy,时间存储在hh:mm中,在第一个示例中,删除列名周围的撇号,这样应该可以。。。但它的设计很糟糕。告诉您的客户,他们不应该规定技术要求:-)ya bro。我已经告诉他们很多次了,但他们不听。“客户至上”到底该怎么办?如果客户要求的是不合理或不恰当的技术方法,则向他们收取相应的费用。为他们设定一个较低的价格,让你正确地做事,如果他们口述了应该处理的基本技术细节,就给他们设定一个较高的价格。这是行不通的。我的格式是dd/mm/yyyy,而sql server的格式是mm/dd/yyyyyy,因此无法工作。我的格式为dd/mm/yyyy,sql server的格式为mm/dd/yyyy@BeingJaved:这有用吗?@BeingJaved:有用吗?