日期:2014-05-16  浏览次数:20810 次

postgres 中数据类型转换
我想把varchar型的“123456”转换成int型的123456 在postgres 如何转换?

------解决方案--------------------
select '123456'::int 
 也可以,执行结果
SQL code
    int4
    integer
1   123456

------解决方案--------------------
应使用to_number('123456', '999999')

当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html

8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
------解决方案--------------------
8.2.3的帮助里是这么写的,
1.to_number(text, text) numeric 把字符串转换成数字 to_number('12,454.8-', '99G999D9S')

2.:: 左 PostgreSQL 特有的类型转换操作符
:: 语法是 PostgreSQL 历史用法

3.再看看PostgreSQL的数据类型
表8-2. 数值类型

名字 存储空间 描述 范围
smallint 2 字节 小范围整数 -32768 到 +32767
integer 4 字节 常用的整数 -2147483648 到 +2147483647
bigint 8 字节 大范围的整数 -9223372036854775808 到 9223372036854775807
decimal 变长 用户声明精度,精确 无限制
numeric 变长 用户声明精度,精确 无限制
real 4 字节 变精度,不精确 6 位十进制数字精度
double precision 8 字节 变精度,不精确 15 位十进制数字精度
serial 4 字节 自增整数 1 到 2147483647
bigserial 8 字节 大范围的自增整数 1 到 9223372036854775807


integer int, int4 有符号 4 字节整数
------解决方案--------------------
cast('123455' as int)