php - Laravel 与 MSSQL 不返回小数秒(无毫秒)
问题描述
我正在使用 Laravel 8、SQL Server 2019 和现有存储过程连接到现有数据库。有许多datetime
字段存储在各种表中,包括小数秒 ( Y-m-d H:m:s.v
),但是,当我通过 Laravel 导出这些数据时,我没有得到毫秒。即使运行结果dd()
仍然不包括毫秒。
从数据库:
即使在表上运行基本select *
也不会返回毫秒数。
无论如何我可以克服这个问题,因为我需要参考完整的日期和时间值。
更新信息
Laravel Version: 8.9.0
Homestead Version: 9.5.1
Vagrant Version: 2.2.9
PHP Version: 7.4.5
MSSQL Version: 2019
从数据库运行以下原始查询:
$q = WarehouseCredit::select(DB::raw(
InvoiceNumber,
DateModified,
CONVERT(varchar, DateModified, 121) AS DateModified1"
))
退货
[
{
"InvoiceNumber": "A00001",
"DateModified": "2020-03-04 09:58:56",
"DateModified1": "2020-03-04 09:58:56.723"
}
],
我不明白为什么我可以检索小数秒的唯一方法是将字段转换为字符串。这不是我的首选方法,因为我最终将通过存储过程检索信息,因此我将无法运行原始查询。
我找不到与其他人在相同程度上遇到此问题的任何信息,因此我无法判断这是 PHP、Laravel、MSSQL、Linux 还是 Homestead 问题,还是多个问题的组合。
如果有人可以提供帮助,将不胜感激。
解决方案
推荐阅读
- r - R中的正则表达式语法
- postgresql - 为触发器创建复制过程
- python - 如何在以下代码中一个接一个地突出显示单选按钮
- python - 在 SQLAlchemy 中,不能在模型类中创建虚拟列吗?
- ruby-on-rails - 为只能通过该链接访问的链接创建唯一令牌?
- java - 在 Java 中实现满足以下要求的 Singleton 的最佳方法是什么?
- android - Google Play 管理中心 - 无法编辑草稿
- amazon-web-services - 在从 centos 7 创建的自定义 EC2 AMI 上运行用户数据
- c# - CI 构建中集成测试的结果不同
- javascript - Vuetify 动态创建 v-icon