SQL Server-将数据类型float转换为bigint时出错

时间:2019-03-24 11:15:42

标签: c# sql-server database

字段的数据类型可以从float更改为bigint吗?

创建一个新的整数列

ALTER TABLE tabl ADD newCol int;

从旧列中选择数据到新列中:

UPDATE tabl SET newCol = CAST(TEL2 AS int) FROM tabl ;

P.S:我正在使用MS SQL Server

我尝试用C#来解决这个问题,但没有得到任何结果

  string sqlCommand = "SELECT * FROM tabl WHERE CONCAT([TEL1], [TEL2],[TEL3], [TEL4],[TEL5], [TEL6],[TEL7], [TEL8],[TEL9]) LIKE '%" + txtBoxSearch.Text + "%'";

我将电话号码存储为浮点数,并尝试通过c#代码找到它,但未得到任何结果,因此我试图转换列或更正c#代码

2 个答案:

答案 0 :(得分:2)

尝试使用STR()函数:

SELECT STR(your_float_field, 25, 0)

这将以字符串形式返回浮点值。 注意:此功能在左侧用空格填充。如果有问题,请结合LTRIM功能:

SELECT LTRIM(STR(your_float_field, 25, 0))

答案 1 :(得分:-1)

否,因为浮点数包含小数 而bigint仅包含整数。 但是bigint可以转换成 浮点数作为浮点数包含部分-integer和小数。 如果浮点值包含.00作为十进制值,则可以将其更改为bigint。 谢谢。 如果您想了解有关数据类型转换的更多信息,请发表评论。 再次感谢。