gpt4 book ai didi

php - 输出月份的名称而不是数字

转载 作者:行者123 更新时间:2023-11-29 01:33:51 28 4
gpt4 key购买 nike

我有一个返回 3 个字段的查询,其中一个是月份的两位数。

我基本上想要它,所以如果月 == 1 输出一月,如果月 == 02 输出二月等

这就是我正在尝试的方法,但这根本不起作用,并且会阻止整个列在 PHP 中显示。

            while ($row = mysql_fetch_array($sqlstr)) {
if ($row['theMonth']=="6") {
echo "<td>{June}</td>";}
echo "<td>{$row['sumSales']}</td>";
echo "<td>{$row['sumPurchases']}</td>";
echo "</tr>";
}
}

做我想做的事情的正确方法是什么,为什么我做错了?

我使用的 SQL 查询是:

SELECT theMonth, sum(Sales) as sumSales, sum(Purchases) as sumPurchases
FROM
( SELECT date_format(saledate, '%Y-%m') AS theMonth, sales.cost as Sales, 0 AS Purchases
FROM sales, products
WHERE sales.product=products.name AND category='Food' OR category='Bocas'
OR category='Bebidas' OR category='Flor de cana por botellas'
OR category='Vino por botella' OR category='hora feliz'
UNION ALL
SELECT date_format(purchasedate, '%Y-%m') AS theMonth, 0 as Sales, purchases.cost as Purchases
FROM purchases
) AS all_costs
group by theMonth

我不认为我可以替换

SELECT date_format(purchasedate, '%Y-%m') AS theMonth

SELECT MONTHNAME(purchasedate) AS theMonth

那么在 SQL 中以文本形式返回月份名称的最佳方法是什么?

最佳答案

在您的 SQL 中,您可以使用 DATE_FORMAT将日期转换为月份名称:

SELECT DATE_FORMAT(NOW(), '%M')
July

可以在 MySQL 文档中找到允许的说明符列表。

(MONTHNAME 也应该有效。)

您当前的方法不起作用的原因是因为您当前正在输出年份和月份(例如“2010-06”),并且此字符串与字符串“6”比较不相等。

关于php - 输出月份的名称而不是数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199304/

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