相关疑难解决方法(0)

将varchar字段的类型更改为整数:"不能自动转换为整数"

我有一个小表,某个字段包含" 字符变化 " 类型.我正在尝试将其更改为" 整数 ",但它给出了一个错误,即无法进行转换.

有没有办法绕过这个或者我应该创建另一个表并使用查询将记录带入其中.

该字段仅包含整数值.

postgresql casting fieldtype postgresql-9.1

141
推荐指数
6
解决办法
18万
查看次数

Rails迁移:尝试将列的类型从字符串更改为整数

我在rails应用程序中使用rails generate migrations命令创建了一个表.这是迁移文件:

class CreateListings < ActiveRecord::Migration
  def change
    create_table :listings do |t|
      t.string :name
      t.string :telephone
      t.string :latitude
      t.string :longitude

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

然后我想将纬度和经度存储为整数,所以我试图运行:

rails generate migration changeColumnType
Run Code Online (Sandbox Code Playgroud)

并且该文件的内容是:

class ChangeColumnType < ActiveRecord::Migration
  def up
    #change latitude columntype from string to integertype
    change_column :listings, :latitude, :integer
    change_column :listings, :longitude, :integer
    #change longitude columntype from string to integer type
  end

  def down  
  end
end
Run Code Online (Sandbox Code Playgroud)

我期待列类型改变但是rake被中止并且出现以下错误消息.我想知道为什么这不通过?我在我的应用程序中使用postgresql.

rake db:migrate
==  ChangeColumnType: migrating ===============================================
-- change_column(:listings, :latitude, :integer)
rake aborted!
An error …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql casting ruby-on-rails rails-migrations

30
推荐指数
4
解决办法
3万
查看次数

当推送到Heroku时,Rails迁移错误w/Postgres

我正在尝试执行以下向上迁移以更改"tweet"模型表中的"number"列

class ChangeDataTypeForTweetsNumber < ActiveRecord::Migration
  def up
    change_column :tweets do |t|
      t.change :number, :integer
    end
  end

  def down
    change_table :tweets do |t|
      t.change :number, :string
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

执行以下向上迁移到heroku ....

heroku rake db:migrate:up VERSION=20120925211232
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

    PG::Error: ERROR:  column "number" cannot be cast to type integer
: ALTER TABLE "tweets" ALTER COLUMN "number" TYPE integer
Run Code Online (Sandbox Code Playgroud)

任何想法都会非常感激.

感谢大家.

postgresql ruby-on-rails heroku rails-migrations

21
推荐指数
2
解决办法
7411
查看次数

获取连接日期和时间列的时间戳

我在数据库中有日期和时间字段.我希望通过连接日期和时间来获得时间戳.如何在PostgreSQL中执行此操作?

我这样做了:

SELECT EXTRACT(EPOCH FROM TIMESTAMP '2011-05-17 10:40:28');
Run Code Online (Sandbox Code Playgroud)

它工作正常.

但是当我尝试替换日期和时间字段时,我收到以下错误:

SELECT EXTRACT(EPOCH FROM TIMESTAMP Day || ' ' || Time);
Run Code Online (Sandbox Code Playgroud)
ERROR:  syntax error at or near "Day"
LINE 1: ...quest_count > 0 AND (EXTRACT(EPOCH FROM TIMESTAMP Day || ' ' || Time)) > (e...
Run Code Online (Sandbox Code Playgroud)

postgresql datetime casting concatenation postgresql-9.1

14
推荐指数
3
解决办法
1万
查看次数