zxp19821005 发表于 2012-05-14 17:18

sybase中数据类型转换问题

本帖最后由 zxp19821005 于 2012-05-14 17:25 编辑

tcc表中, dir、downtilt_electr和ANT_total_under_ANGLE等字段为float型。
1、执行以下语句时
update tcc set dir =convert(float,45),downtilt_electr =convert(float,4),ANT_total_under_ANGLE =convert(float,4)
提示:
Number (257) Severity (16) State (1) Server (BOCODT) Implicit conversion from datatype 'FLOAT' to 'VARCHAR' is not allowed.Use the CONVERT function to run this query.
          
2、执行以下语句时
update tcc set dir =45,downtilt_electr =4,ANT_total_under_ANGLE =4
提示:
Number (257) Severity (16) State (1) Server (BOCODT) Implicit conversion from datatype 'INT' to 'VARCHAR' is not allowed.Use the CONVERT function to run this query.

3、执行以下语句时
update tcc set dir =cast(45 as float),downtilt_electr =cast(4 as float),ANT_total_under_ANGLE =cast(4 as float)       
提示:
Number (257) Severity (16) State (1) Server (BOCODT) Implicit conversion from datatype 'FLOAT' to 'VARCHAR' is not allowed.Use the CONVERT function to run this query.

请问各位大虾,我该如何写这个语句?   

Eisen 发表于 2012-05-14 17:25

update tcc set dir =convert(varchar(10),convert(float,45)),downtilt_electr =convert(varchar(10),convert(float,4)),ANT_total_under_ANGLE =convert(varchar(10),convert(float,4))

zxp19821005 发表于 2012-05-14 17:28

Eisen 发表于 2012-05-14 17:25 static/image/common/back.gif
update tcc set dir =convert(varchar(10),convert(float,45)),downtilt_electr =convert(varchar(10),conv ...

不行啊,大虾~~~
1        Number (257) Severity (16) State (1) Server (BOCODT) Implicit conversion from datatype 'VARCHAR' to 'FLOAT' is not allowed.Use the CONVERT function to run this query.          
2       (42000)          
3        Number (257) Severity (16) State (1) Server (BOCODT) Implicit conversion from datatype 'VARCHAR' to 'FLOAT' is not allowed.Use the CONVERT function to run this query.          
4       (42000)          

baiynije 发表于 2012-05-15 08:30

先弄清楚你要更新字段的數據類型,再做相應的轉換。

zxp19821005 发表于 2012-05-15 15:18

对不起了 各位大虾~~~
是我自己搞错了~~~
前两个字段是float,最后一个是varchar~~~
谢谢各位了~~~
页: [1]
查看完整版本: sybase中数据类型转换问题