首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将str_to_date转换为YYYY,并在SQL中保持2位月份格式。

将str_to_date转换为YYYY,并在SQL中保持2位月份格式。
EN

Stack Overflow用户
提问于 2017-11-21 19:55:32
回答 1查看 593关注 0票数 2

我希望我的约会能在一个月内以2位数出现,但我似乎只能得到1。我已经在互联网上搜索了一个解决方案,找到了一些看起来应该有效的解决方案,但一直得到一个1064错误代码。我几天前才开始学习SQL,所以我可能已经找到了正确的答案,只是不知道在查询中把它放在哪里。

这就是我如何连接到mySQL工作台中的数据库的方式:

若要连接到MySQL服务器,请将客户端程序指向:

主机: applepie.cx67wtelpwox.us-east-1.rds.amazonaws.com

用户名: public

港口: 3306

这是我的疑问:

代码语言:javascript
复制
SELECT 
    concat(year, '-', month) AS theDate,
    dest,
    sum(1) AS numFlights,
    sum(cancelled) AS numCancelled,
    ((sum(Cancelled) / sum(1))) AS perCancelled
FROM flights WHERE year = 2013
    AND dest = 'SFO'
GROUP BY month
ORDER BY perCancelled desc

我得到的是:

代码语言:javascript
复制
2013-7  SFO 15401   862 0.0560
2013-6  SFO 14768   503 0.0341
2013-8  SFO 15478   322 0.0208

这就是我想要的:

代码语言:javascript
复制
2013-07 SFO 15401   862 0.0560
2013-06 SFO 14768   503 0.0341
2013-08 SFO 15478   322 0.0208
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-21 20:05:55

您可以使用lpad构建一个月的2字符长度字符串。

代码语言:javascript
复制
SELECT 
    concat(year, '-', lpad(month,  2,'0')) AS theDate,
    dest,
    sum(1) AS numFlights,
    sum(cancelled) AS numCancelled,
    ((sum(Cancelled) / sum(1))) AS perCancelled
FROM flights WHERE year = 2013
    AND dest = 'SFO'
GROUP BY month
ORDER BY perCancelled desc
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47421606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档