【问题标题】:How to specify DATETIME format for a database connection?如何为数据库连接指定 DATETIME 格式?
【发布时间】:2013-08-12 10:58:23
【问题描述】:

目前我通过activerecord-sqlserver-adapterdbd-odbctiny_tds 之上连接到MSSQL 数据库。

INSERT 工作正常,DATETIME 字段除外。

从 SELECT 返回的日期时间字段:

rows = ActiveRecord::Base.connection.select_rows("SELECT * from customer")

在结果中:

rows.first[5]
=> Wed Jan 11 00:00:00 UTC 1984

如果我使用相同的 DATETIME 值插入新行,则会出错:

ODBC::Error: 22008 (241) [unixODBC][FreeTDS][SQL Server]语法错误 从字符串转换日期时间。

在哪里可以指定DATETIME 字段的格式?

【问题讨论】:

    标签: ruby-on-rails datetime activerecord unixodbc tiny-tds


    【解决方案1】:

    您插入的是String。您在MsSQL 中指定了TIMESTAMP 数据类型。您必须匹配programdatabase 中的数据类型。要么将您的 MsSQL 更改为 Varchar 数据类型,要么在您的程序中采用 date 数据类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 2018-04-27
      • 2012-04-02
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多