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

raz*_*iiq 0 sql

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

Select MAX(TransactionDate) from MyBank
Run Code Online (Sandbox Code Playgroud)

只要年份相同(11/12/2010),结果就很好,但是一旦我将一些数据与年份(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
Run Code Online (Sandbox Code Playgroud)

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

提前致谢。

Jah*_*ine 5

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