sql - 如何从 Varchar 类型的 SQL 中获取月份和年份
问题描述
我已经创建了表(商业)列(MyDate)“Varchar(255)”
我有一些手动条目,例如:
dd-mm-yyyy
01-05-2019
02-05-2019
15-06-2019
16-06-2019
现在我只想选择一个月和一年。喜欢
05-2019 or 06-2019
请告诉我如何从该列中仅选择月份和年份。
解决方案
您不需要在数据类型之间进行任何转换,因为您想从字符串中提取字符串,并提取具有mm-yyyy
格式模式的部分,只需使用substring()
以下函数:
select distinct substring(replace(MyDate,' ',''), 4, 7) as "Month-Year"
from myTable;
Month-Year
----------
05-2019
06-2019
顺便说一句,考虑使用replace(MyDate,' ','')
( trim(MyDate)
for version 2017+ ) 来防止字符串中有空格的可能性。
推荐阅读
- javascript - 在javascript中使用split仅获取没有查询字符串的URL
- javascript - Angular 8 中的 RouteLink 参数
- powerbi - 为什么我在 PowerBi 上看不到每一行的去年增长?
- c++ - 模板专业化仅在类范围内
- swiftui - SwiftUI 变暗修饰符
- android - 使 EditText 提供搜索结果
- javascript - 当它总是正确的时候为什么要使用while?
- rest - 我们如何创建自己的新闻 JSON API,就像 newsapi.org 网站上提供的那样?
- sorting - 一系列列上的 awk 'uniq'
- jsf - 从控制器 bean 填充 ace:comboBox 值