gpt4 book ai didi

PHP 和 MySQL 的 STR_TO_DATE

转载 作者:行者123 更新时间:2023-11-29 06:54:25 26 4
gpt4 key购买 nike

我正在尝试将存储在 mysql 数据库中的日期转换为 VARCHAR(格式示例:12/29/2012),然后我想对其进行排序,以便较早的日期位于最前面,然后是当前日期日期。

Eg: 
11-01-2012
11-05-2012
12-25-2012
...

这是我目前所拥有的,(请帮助!!谢谢)

<?php
$listsql = "SELECT contact.id, CONCAT(lastname,', ',firstname) AS fullname, lastname, firstname,
STR_TO_DATE(daDATE,'%m-%d-%Y'), line1, line2, city, state, zip, phone1, phone2, country, whoAdded
FROM ". TABLE_CONTACT ." AS contact
LEFT JOIN ". TABLE_ADDRESS. " AS address ON contact.id=address.id AND contact.primaryAddType=address.type
LEFT JOIN ". TABLE_EMAIL ." AS email ON contact.id=email.id AND contact.primaryAddType=email.type
WHERE contact.hidden != 1
ORDER BY email.daDATE";
?>

最佳答案

正如评论所指出的那样。您确实应该将字段类型更改为 datedatetime(如果您需要 H-M-S 信息)。虽然您当然可以对文本类型字段中的日期值进行字符串操作,但您将无法使用索引来高效地对该字段进行过滤/排序/分组。

如果您需要转换方面的帮助,我可能会建议您采用这种方法。添加新的日期或日期时间列。确保在此列上添加索引,因为您将使用它进行排序。

然后运行这个查询:

UPDATE table SET new_date_column = STR_TO_DATE(old_date_column, '%m-%d-%Y');

然后从表中删除旧列。

关于PHP 和 MySQL 的 STR_TO_DATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com