sql-server - 如何在 SQL Server 2008 中将日期格式 yyyymmdd 转换为 yyyy/mm/dd
问题描述
我尝试了一些转换,但似乎不起作用。我的数据类型是decimal
:
date_column
-----------
20140619
20160527
20150601
20131127
20170217
20171204
20160519
我的 SQL 语句:
SELECT
CONVERT(DATE, CONVERT(VARCHAR(10), date_column), 111) AS mydate
FROM
my_table
结果
mydate
-------------
2014-06-19
2016-05-27
2015-06-01
2013-11-27
2017-02-17
2017-12-04
2016-05-19
解决方案
您目前这样做:
decimal -> varchar -> date
这很好,但是您仍然缺少一步:
decimal -> varchar -> date -> varchar (new format)
因此,您需要:
select CONVERT(varchar(10), CONVERT(date, CONVERT(varchar(8), date_column)), 111) as mydate
from my_table
(您实际上应该首先将日期存储为 a DATE
,但我知道这并不总是旧数据库的选项。)
推荐阅读
- beagleboneblack - Beaglebone PWM 引脚
- c - C:将 __COUNTER__ 与字符串连接起来
- android - Android Google Task API - 中断链
- css - 如何截断方向列flexbox子项内的字符串
- html - 创建一个聊天框,不能在右侧放置聊天消息。此外,添加边框会产生不必要的高度。
- python - IPython 函数参数显示
- javascript - 检查状态更新的测试用例似乎没有给出正确的输出
- vba - 如何复制单元格以便在不使用鼠标应用过滤器时不会丢失值
- scala - 在 Scala 中解析动态命名的 json 对象
- python - Python Attrs 在设置属性时触发转换器