sql - 拆分日期,然后将其分成三列
问题描述
我有一个日期列,格式为 2020 年 2 月 21 日和 2020 年 11 月 2 日
我的意思是,如果是第 2 个月,如果是 11 两位数,它将是一位数
我需要从上面的例子中得到的结果应该是 20200221 和 20201102
所以我决定拆分日期并将它们分成三列,例如年:2020 月:02 日:21
然后我将它们结合起来
year || month || day
现在我知道如何划分年份了
select
regexp_substr(date1, '[^/]+$', 1, 1) as year
from (select '2/11/2020' as date1 from dual)
但是如果我需要月份或日期,我应该在代码中更改什么
此外,如果月份包含一位数字,则应在月份数字旁边添加 0,如 02。我是否使用 case when 条件?
有没有更简单的方法来解决这个问题
解决方案
试试这个希望你喜欢。
declare @TargetDate datetime='2/21/2020'
SELECT REPLACE(CONVERT(varchar,(SELECT @TargetDate),23), '-', '') as Date;
推荐阅读
- mysql - 多个表上的多个排序字段,无需连接 sql
- reactjs - 尝试使用样式组件时出现 Webpack 错误
- php - 仅当购物车中的每个产品都属于同一类别时才分配 var
- javafx - 如何刷新 JavaFX 中的选择框?
- javascript - 与 Map 一起使用后,Array 过滤器函数的行为发生了变化
- java - 移动应用程序仿真能够连接到在线应用程序服务,但不能在实际设备上运行
- angular - Angular获取选定的让值
- python - 在本地同步 aws s3 存储桶(连同文件夹结构)并仅在新添加的本地文件夹上运行 python 代码
- bootstrap-4 - 外部输入时隐藏的简单表单和引导错误?
- angular - 如何在ionic 3中将长文本裁剪为...