SQL Server - Ошибка преобразования типа данных с плавающей точкой в ​​bigint - PullRequest
0 голосов
/ 24 марта 2019

Можно ли изменить тип данных поля на bigint от float ??

Создайте новый столбец с целым числом:

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 ]

2 голосов
/ 24 марта 2019

Попробуйте использовать функцию STR () :

SELECT STR(your_float_field, 25, 0)

Это вернет значение с плавающей запятой в виде строки.Примечание: эта функция дополняет слева пробелами.Если это проблема, используйте функцию LTRIM:

SELECT LTRIM(STR(your_float_field, 25, 0))
0 голосов
/ 24 марта 2019

Нет, потому что число с плавающей запятой содержит десятичные дроби И бигинты содержат только целые числа. Но bigint может быть преобразован в Число с плавающей точкой, как число с плавающей запятой, содержит как дробные, так и десятичные числа Если ваше значение с плавающей запятой содержит .00 в качестве десятичного значения, то оно может быть изменено на bigint. Благодарю. Если вы хотите больше узнать о преобразовании типов данных, пожалуйста, прокомментируйте. Еще раз спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...