sql - 将 SQL BigInt as 1811011439 转换为日期时间格式
问题描述
我的日期时间行看起来像这种格式
1811011439
1811011439
1811011439
1811011439
1811011439
1811011439
可以这样读
Y. 18
M. 11
D. 01
如您所见,在第一行
任何人都可以指导我如何将其转换为日期可读格式。
解决方案
您希望将日期时间值(存储为 bigint)的字符串表示形式转换为可读格式。在这种情况下,您可以CAST
将字符串 / bigint 的日期部分设置为一个DATE
值:
SELECT CAST(LEFT(CAST(1811011439 AS VARCHAR), 6) AS DATE)
-- 2018-11-01
我建议使用DATETIME
列而不是BIGINT
列来存储这样的值。通过以下内容SELECT
,您可以获得所有DATETIME
值:
SELECT CAST(SUBSTRING(CAST(1811011439 AS VARCHAR), 1, 6) + ' ' + SUBSTRING(CAST(1811011439 AS VARCHAR), 7, 2) + ':' + SUBSTRING(CAST(1811011439 AS VARCHAR), 9, 2) AS DATETIME)
-- 2018-11-01 14:39:00.000
推荐阅读
- java - 从 Notification 启动 Activity 并在 BackPressed 上传递数据
- ios - Swift 4 尝试呈现视图不在窗口层次结构中的 ViewController
- sql - 使用 Chinese_Hong_Kong_Stroke_90_CI_AS 排序规则时 SQL Server 中的模糊匹配
- node.js - Bot builder sdk 4 nodejs 使用哪种代码模式?
- c# - 自定义序列化程序设置
- python - Keras - 输入数组应具有与目标数组相同数量的样本
- visual-studio - 如何安装 Visual Studio 的普通版(非预览版)?
- javascript - 如何在threejs的对象中显示网格?
- python - Python:按十位对数字进行分组的函数
- freemarker - Freemarker 宏参数可以使用其他参数作为默认值吗?