Max(Date)不适用于SQL Server中的varchar

时间:2011-01-03 12:22:46

标签: sql

我有一个类型'varchar(15)'的'TransactionDate'列,我试图使用此查询获取Max(TransactionDate)

Select MAX(TransactionDate) from MyBank

只要年份相同(2010年12月11日),结果就可以了,但只要我将一些数据与年份(12/23/2011)放在一起,查询仍会显示最大值。 2010年而不是2011年。

我的数据如下所示

Name | Age | TransactionDate | Amount
John | 23  | 12/12/2010      | 2000
Rock | 24  | 12/23/2010      | 1000
Sam  | 29  | 1/2/2011        | 5000
Nomi | 22  | 1/3/2011        | 6000

虽然查询应该返回1/3/2011,但它仍然会返回12/23/2010。

提前感谢。

1 个答案:

答案 0 :(得分:3)

将其更改为Max(cast(TransactionDate as DateTime))