【问题标题】:SQLite with Powershell - SQLite Datatyp Date is being transferred into DateTime in PowershellSQLite with Powershell - SQLite Datatyp 日期被转移到 Powershell 中的 DateTime
【发布时间】:2020-11-06 15:13:42
【问题描述】:

我正在使用 system.data.sqlite.org 二进制文件连接到 SQLite 数据库。

最后,我正在查询我的数据库

$adapter = New-Object -TypeName System.Data.SQLite.SQLiteDataAdapter $sql
$data = New-Object System.Data.DataSet
[void]$adapter.Fill($data)

一般来说,这工作得很好,但如果你有一个 SQLite 数据类型 Date,它会作为 DateTime 导入 PowerShell,它会添加 00:00:00 作为时间戳。

这可以避免吗?我想在 PowerShell 中将日期设置为 dd-mm-yyyy 而没有时间戳。对于时间戳字段,我当然想要日期 + 时间戳,但不是日期数据类型。

谢谢

【问题讨论】:

  • 没有“SQLite 数据类型日期”之类的东西。 SQLite 存储空、整数、实数、文本或 blob。 DateTime 值以某种格式存储为文本或整数。

标签: .net powershell sqlite


【解决方案1】:

.NET 中没有“日期”数据类型(看here),只有DateTime(或DateTimeOffset)。即使DateTime 对象上的Date 属性也会返回另一个 DateTime(时间组件设置为00:00:00)。

如果你想要特定的格式,你可以将值格式化为字符串:

$datetimevalue.ToString("dd-MM-yyyy")

【讨论】:

  • 啊,非常感谢...我可以在 powershell 中获取 SQLite 数据类型,以便只为我查询的一些数据执行 ToString 吗?
  • 我已经有了.. 你需要用 pragma 查询数据库,它会返回数据类型。
猜你喜欢
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
相关资源
最近更新 更多