吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 549|回复: 17
收起左侧

[已解决] mysql中传进去一个年月,然后转换格式怎么搞,求助大佬们

[复制链接]
xtccw 发表于 2022-9-23 09:44
本帖最后由 xtccw 于 2022-9-23 10:24 编辑

上面这个就可以将年月获取到,下面的sql怎么修改才可以获取到那种格式呢,因为是自己传进去年月的格式,不能改,是我的函数用错了吗,大佬们,提前谢过。
select date_format('2022-09-01','%y%m') from dual;

select date_format('2022-09','%y%m') from dual;


年月,传进去就是年月,只不过是转成日期年月,去掉中间的-

感谢大佬们,我描述的不太清楚,但是问题解决了,不好意思哈。谢谢大家

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Takitooru 发表于 2022-9-23 10:16
xtccw 发表于 2022-9-23 10:06
2022-09 是年月格式,是传进来的值,没有具体到日,这就是区别。我想要将年月中间的-去掉。你们为什么一 ...

不是我们纠结第一条日期,你看楼上这么多回复,基本没看懂你描述的问题
你自己看看你的提问,

上面这个就可以将年月获取到,下面的sql怎么修改才可以获取到那种格式呢,因为是自己传进去年月的格式,不能改,是我的函数用错了吗,大佬们,提前谢过。
select date_format('2022-09-01','%y%m') from dual;

select date_format('2022-09','%y%m') from dual;

年月,传进去就是年月,只不过是转成日期年月,去掉中间的-


你上面说,获取到年月,然后又说下面怎么获取到那种格式

我现在只想问你,最终效果是不是把2022-09以及2022-09-01这类型转换成
202209,或20220901

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
xtccw + 2 + 1 谢谢@Thanks!

查看全部评分

bobo2017365 发表于 2022-9-23 10:18

回帖奖励 +2 CB吾爱币

本帖最后由 bobo2017365 于 2022-9-23 10:22 编辑

[SQL] 纯文本查看 复制代码
select date_format(str_to_date(concat('2022-09','-01'),'%Y-%m-%d'),'%y%m') from dual;  # 短格式
select date_format(str_to_date(concat('2022-09','-01'),'%Y-%m-%d'),'%Y%m') from dual;  # 长格式


这句确实是可行的,
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format
查阅官方文档,没有你举例说明的第二种写法,也就是"2019-01"这个date表达式(官方说法)不被date_format支持的(我猜的,你的问题也算是一种验证)

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
xtccw + 2 + 1 热心回复!

查看全部评分

pzx521521 发表于 2022-9-23 09:49

回帖奖励 +2 CB吾爱币

created_time 指的是数据库中的 要转换的时间 字段
[SQL] 纯文本查看 复制代码
SELECT  date_format(created_time,'%y%m')  as format_time  FROM dual
 楼主| xtccw 发表于 2022-9-23 09:51
pzx521521 发表于 2022-9-23 09:49
created_time 指的是数据库中的 要转换的时间 字段
[mw_shl_code=sql,true]SELECT  date_format(created_t ...

年月是固定的那个格式,你看我第二个sql,那个是传进去的那个格式,你这样写跟我第一条数据没区别的,没有日
luxingyu329 发表于 2022-9-23 09:54

回帖奖励 +2 CB吾爱币

我居然没有看明白,时间格式这块还是要深入学习的,
Takitooru 发表于 2022-9-23 09:59

回帖奖励 +2 CB吾爱币

可能是我理解能力太差,看不太懂你说的啥,
特别是最后一句《年月,传进去就是年月,只不过是转成日期年月,去掉中间的-》
不知道是我理解问题还是你描述有问题。
不如你直接了当说,怎么把这种那种时间格式转换指定格式,这样好方便理解。
举例,你是不是需要把2022-09-01这种格式转换成20220901这样??还是转换时间戳形式??
fightingmy 发表于 2022-9-23 10:03

回帖奖励 +2 CB吾爱币

[SQL] 纯文本查看 复制代码
select date_format(str_to_date(concat('2022-09','-01'),'%Y-%m-%d'),'%y%m') from dual;



不太明白题目的意思 这个得到的和第一条SQL的结果一致

免费评分

参与人数 1热心值 +1 收起 理由
xtccw + 1 热心回复!

查看全部评分

James2119 发表于 2022-9-23 10:03

回帖奖励 +2 CB吾爱币

select date_format(concat('2022-09','-01'),'%y%m') from dual;

免费评分

参与人数 1热心值 +1 收起 理由
xtccw + 1 谢谢@Thanks!

查看全部评分

 楼主| xtccw 发表于 2022-9-23 10:06
Takitooru 发表于 2022-9-23 09:59
可能是我理解能力太差,看不太懂你说的啥,
特别是最后一句《年月,传进去就是年月,只不过是转成日期年月 ...

2022-09 是年月格式,是传进来的值,没有具体到日,这就是区别。我想要将年月中间的-去掉。你们为什么一直纠结第一条年月日的数据。你能实现吗?
iismajia 发表于 2022-9-23 10:09

回帖奖励 +2 CB吾爱币

xtccw 发表于 2022-9-23 10:06
2022-09 是年月格式,是传进来的值,没有具体到日,这就是区别。我想要将年月中间的-去掉。你们为什么一 ...

。。。阿西。。。请教别人问题
居然态度还这么烂,要赚这两CB还得看你
iven123 发表于 2022-9-23 10:09

回帖奖励 +2 CB吾爱币

select date_format(字段名,'%Y%m') as 别名 from 表名;

格式说明:%Y 年(4位数字);%m月(00-12数字)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2022-9-26 10:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表