将varchar日期转换为max()date()mysql

时间:2019-02-25 07:44:05

标签: mysql date-conversion

在我的数据库中,列类型为varchar(30),它存储日期(24/02/2018),具有多个记录。 我想要最长日期,例如我有10/01 / 2016、20 / 03 / 2017、24 / 02/2018。 我正在使用以下查询:

SELECT MAX(receipt_date) as rd FROM tblname

返回我10/01/2016这是错误的。 我也试图将其转换为日期格式。但失败了。 mysql给我语法错误。

SELECT CONVERT(varchar, mycolumn, 105) FROM tblname

但失败了。

1 个答案:

答案 0 :(得分:0)

这就是我要做的:

func findCoffee(coordinate: CLLocationCoordinate2D) {
    let url = "https://api.foursquare.com/v2/venues/explore"
    let params = [
        "ll": "\(coordinate.latitude),\(coordinate.longitude)",
        "intent": intent,
        "limit": limit,
        "client_id": "\(clientId)",
        "client_secret": "\(clientSecret)"
    ]

    let manager = AFHTTPSessionManager()
    manager.requestSerializer = AFHTTPRequestSerializer()

    manager.get(url, parameters: params, success: { (operation, responseObject) in

    }) { (operation, error) in

    }
}

如果将日期存储为dd-mm-yyyy格式的VARCHAR,则无法在MySQL中有效使用日期。您应该使用ALTER TABLE tblname ADD COLUMN receipt_date2 DATE; UPDATE tblname SET receipt_date2 = STR_TO_DATE(receipt_date, '%d/%m/%Y'); ALTER TABLE tblname DROP COLUMN receipt_date, CHANGE receipt_date2 receipt_date DATE; SELECT MAX(receipt_date) AS rd FROM tblname; 数据类型。 MySQL的DATE数据类型仅以yyyy-mm-dd格式存储日期。这样,它可以轻松搜索DATE,可以对它们进行排序,可以进行日期算术。

相关问题