在我的数据库中,列类型为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
但失败了。
答案 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
,可以对它们进行排序,可以进行日期算术。