最小和最大日期的问题
我希望得到最小的日期,并存储在数据库中最大的日期。最小和最大日期的问题
对于我用下面的查询:
select min(sauda_date) as MinDate,max(sauda_date) as MaxDate from tradefile
而且我得到了以下结果:
但我知道这个结果是错误的。
它应该是:
2013年2月28日作为为MinDate和2013年3月22日为MAXDATE。
正因为如此我refered以下问题:
SQL grammar for SELECT MIN(DATE)
和改变了我的查询:
select min(sauda_date), max(sauda_date) from tradefile group by sauda_date
但我得到以下结果:
虽然我的结果应该是:
2013年2月28日作为为MinDate和2013年3月22日为MAXDATE。
与此查询也试过:
select min(convert(datetime,sauda_date)), max(convert(datetime,sauda_date)) from tradefile group by convert(datetime,sauda_date)
,但没有得到结果[预计]
我在哪里犯错?请帮帮我。
注意: Sauda_Date的类型nvarchar在这里。
“注:Sauda_Date是类型为nvarchar在这里。”
有你的问题,然后 - 如果你选择一个nvarchar的类型的最小或最大,然后SQL使用辞书排序 - 在0到9,a到z。还有什么可以使用的?它怎么可能知道你打算将它们解释为日期时间?
如果您无法更改架构并创建列日期,那么您可以在对其使用min()
或max()
之前将数据类型转换/转换为日期时间。
所以,你要像
select min(convert(datetime,sauda_date)), max(convert(datetime,sauda_date)) from tradefile
试试这个:
select
min(CAST(sauda_date AS DATETIME)) as MinDate,
max(CAST(sauda_date AS DATETIME)) as MaxDate
from tradefile
是的,这也工作。谢谢 – Freelancer 2013-04-06 05:57:52
但我也使用转换(日期时间,..)函数就可以了。(我的编辑的问题)。 。但仍然没有得到它 – Freelancer 2013-04-06 05:55:35
是的,你的查询工作:)谢谢很多。 – Freelancer 2013-04-06 05:56:45
@Freelancer该组由你搞砸了你的查询,其余的都是好的 – Patashu 2013-04-06 06:10:11