ruby では、java でうまく行かなかった time 型の最大値も問題なく表示されたが指数表記に差異が見られた。原因は
ここに記載されているデフォルトのフォーマットが異なるのだろう。また、bit 型の表記は、mysql コマンドで表示させた時と同じサイコロ状の表記となった。(
サイコロ状表記についてはこちら)
タイプ |
DB設定値 |
ruby取込値
|
BIT(8) |
1 |
mysql の表記と同じ
|
TINYINT |
127 |
127
|
BOOL |
1 |
1
|
SMALLINT |
32767 |
32767
|
MEDIUMINT |
8388607 |
8388607
|
INT |
2147483647 |
2147483647
|
BIGINT |
9223372036854775807 |
9223372036854775807
|
FLOAT |
3.402823466E+38 |
3.40282e38
|
DOUBLE |
1.7976931348623157E+308 |
1.7976931348623157e308
|
DECIMAL |
1 |
1
|
DATE |
'9999-12-31' |
9999-12-31
|
DATETIME |
'9999-12-3123:59:59' |
9999-12-31 23:59:59
|
TIMESTAMP |
'2037-12-3123:59:59' |
2037-12-31 23:59:59
|
TIME |
'838:59:59' |
23:59:59
|
YEAR |
2155 |
2155
|
CHAR |
'a' |
a
|
VARCHAR(255) |
'ab1' |
ab1
|
BINARY(255),@ |
'ab2' |
ab2
|
VARBINARY(255) |
'ab3' |
ab3
|
TINYBLOB |
'ab4' |
ab4
|
TINYTEXT |
'ab5' |
ab5
|
BLOB(255) |
'ab6' |
ab6
|
TEXT(255) |
'ab7' |
ab7
|
MEDIUMBLOB |
'ab8' |
ab8
|
MEDIUMTEXT |
'ab9' |
ab9
|
LONGBLOB |
'abA' |
abA
|
LONGTEXT |
'abB' |
abB
|
ENUM('a','b','c'), |
'c' |
c
|
SET('e','f','g') |
'ef' |
e,f
|
|
|
#! /home/naoki/.rvm/rubies/ruby-1.8.7-p371/bin/ruby
# coding: utf-8
require 'rubygems'
require 'mysql'
con = Mysql::new("127.0.0.1","user","password","db")
begin
res = con.query("select * from test01")
res.each do |row|
puts row[0]
puts row[1]
puts row[2]
puts row[3]
puts row[4]
puts row[5]
puts row[6]
puts row[7]
puts row[8]
puts row[9]
puts row[10]
puts row[11]
puts row[12]
puts row[13]
puts row[14]
puts row[15]
puts row[16]
puts row[17]
puts row[18]
puts row[19]
puts row[20]
puts row[21]
puts row[22]
puts row[23]
puts row[24]
puts row[25]
puts row[26]
puts row[27]
puts row[28]
end
ensure
con.close
end
0 件のコメント:
コメントを投稿