sql - 将日期 24-NOV-49 转换为 yyyy-mm-dd 格式
问题描述
我正在尝试将日期转换24-NOV-49
为1949-11-24
.
这是我目前使用的代码:
TRY_CONVERT(DATE, NULLIF(GEB_DATUM,''), 103)
不幸的是,这给了我错误的转换:
DATE WRONG CONVERSION SHOULD BE
24-NOV-49 2049-11-24 1949-11-24
01-MEI-62 NULL 1962-05-62
05-DEC-71 NULL 1962-12-05
解决方案
SQL Server 两位数年份的默认截止值为 50,因此在此之前的任何内容都将移至当前世纪,而之后的任何内容都移至上一个世纪。您可以更改默认值,说明在这里
更有可能的是,您需要手动处理它,将字符串分解为年、月和日,应用逻辑来获得正确的数值,然后使用 DATEFROMPARTS 再次构建它。
推荐阅读
- google-bigquery - 使用 BigQuery 公共数据集分离标签以用于 stackoverflow
- python-3.x - 如何在 python 中使用 while 和 for 循环创建函数来显示给定列表中有多少个字符串?
- javascript - 滚动拉斐尔放大纸
- c# - 在 Postman 中发送带有文件的嵌套对象列表 - c#
- postgresql - 为什么 ST_MakeValid() 会从已定义的几何图形中去除 SRID?
- vue.js - Vue.js + Bootstrap - 问题 - 从 store.js 调用 $bvToast
- language-agnostic - 什么是具有摊销复杂性要求的修改功能与具有非摊销要求的修改功能?
- python - 如何将 Tweepy 对象中的数据提取到 pandas 数据框中?
- mlflow - 如何在 mlflow 命令行中设置 run_name?
- android - RecyclerView 在回收物品和更改背景色时出现混乱