SQL server查找date difference in days输入日期格式为dd/mm/yyyy

本文关键字:格式 dd 日期 mm yyyy 输入 查找 server date difference days | 更新日期: 2023-09-27 18:15:47

我正在开发一个项目,我想要我的日期格式在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;

它给了我完美的答案。

请帮。

SQL server查找date difference in days输入日期格式为dd/mm/yyyy

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

试试这个-

SET DATEFORMAT mdy
SELECT DATEDIFF(DAY, '05/28/2013', '05/26/2013')

但希望使用ISO日期格式(ymd):

SELECT DATEDIFF(DAY, '20130528', '20130526')

试试这个:

SET DATEFORMAT dmy;
select Datediff(DAY, In_date, Out_date) from Table;

它试图将列名转换为日期,但它们不是日期。删除'In_date'和'Out_date'周围的撇号,它将把它们识别为列而不是字符串。

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