gpt4 book ai didi

php - 该查询有效,但我想知道是否可以缩短它

转载 作者:行者123 更新时间:2023-11-29 09:37:32 25 4
gpt4 key购买 nike

我正在尝试从字符串字段中提取最后一个单词...如果它是月份名称,我想将其转换为数字中的月份。它正在工作,但它太长了。我们可以包含“不正确的日期时间值”或日期格式错误然后显示空白吗?

如果这样的话效果不好......

case 
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "January" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "February" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1))= "March" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "April" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "May" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "June" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "July" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "August" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "September" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "October" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "November" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
when (SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)) = "December" then (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M')))
else null
end as `Last_NuM_Month`

该示例可以运行,但时间太长。

最佳答案

实际上,您可以将代码减少到以下行:

SELECT (MONTH(str_to_date((SUBSTRING_INDEX(tbl_StringsList.items, " ", -1)),'%M'))) AS `Last_NuM_Month`;

MySQL 的 MONTH()如果您的 tbl_StringsList.items

中的月份名称无效,例如“februember”,则会返回 NULL

关于php - 该查询有效,但我想知道是否可以缩短它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57264095/

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