sqlite - 将小时数添加到 Sqlite 中的时间戳列会导致 NULL,为什么?
问题描述
我从以下位置得到 NULL(什么都没有):
SELECT DATETIME(ServiceCall_CreatedOn,'-6 hours') AS '服务创建时间:' ...
其中 ServiceCall_CreatedOn 是一个 Sqlite 文本列,其中包含:“2019-01-20 4:48:11”(当然不包括引号)
以下:
SELECT ServiceCall_CreatedOn AS '服务创建时间:' ...
和以下
SELECT DATETIME('2019-01-20 4:48:11','-6 hours') AS '服务创建时间:' ...
做工作!!!!!
为什么 SQLite DATETIME 时间减法适用于日期文字而不是其上的 ServiceCall_CreatedOn 列?什么可能是解决方案?
解决方案
我相信您的问题是您的格式无效,因为您使用的是 1 位数字而不是 2 小时。
那是
SELECT DATETIME('2019-01-20 4:48:11','-6 hours') AS 'Service Created On:'
返回空值,而
SELECT DATETIME('2019-01-20 04:48:11','-6 hours') AS 'Service Created On:'
返回2019-01-19 22:48:11
例如
SELECT
DATETIME('2019-01-20 4:48:11','-6 hours') AS 'Service Created On: Version1',
DATETIME('2019-01-20 04:48:11','-6 hours') AS 'Service Created On: Version2'
;
结果是
推荐阅读
- android - 以编程方式连接到之前在 Android Q 中连接的 Wifi
- javascript - 如何以角度从表单构建器中删除字段“prevPwd”
- python - 我的 Python Prime Number Finder 代码有什么问题?
- c++ - 将 stl 算法应用于多维向量(向量
>) - javascript - 悬停并单击以显示图像
- java - 如何修复 Android 中的应用程序无响应 (ANR)
- c++ - 有人知道如何将 c++dll 与 vb6 连接吗?
- azure - 如何使用 powershell 设置 Azure 逻辑应用程序定义
- asp.net-core - 如何将 Swashbuckle 配置为仅忽略特定 api 版本的模型上的属性
- c# - 网络流上的对称加密(TCP Socket)