Що таке помилка під час перетворення nvarchar на int у SQL?
Якщо джерело не надає дійсний (але не порожній) числовий рядок (наприклад, "12.34"), тоді SQL намагається перетворити його на ціле число, зазнає невдачі та видає помилку. Перевірте свої дані, перетворивши їх на числа в коді презентації та передавши ціле значення безпосередньо в SQL.
Методи CAST() і CONVERT() SQL Server можна використовувати для перетворення VARCHAR на INT. Ми також розглянемо більш ефективний і безпечний підхід до перетворення значень з одного типу даних в інший.
Рішення 1:
- Введіть тимчасовий стовпець типу int.
- Оновлення бази даних.
- Створіть робочий процес, щоб скопіювати значення з початкового стовпця в новий стовпець.
- Змініть тип стовпця та оновіть базу даних.
- Створіть робочий цикл, щоб скопіювати значення зі стовпця, введеного на кроці 1, у вихідний стовпець.
Ця помилка виникає тому, що SQL Server не може перетворити значення рядка на числове значення, якщо рядок містить таке: Символ валюти, наприклад $, £ або ¥.
Синтаксис: SELECT CONVERT(<DATA_TYPE>, <VALUE>); –DATA_TYPE – це тип, у який ми хочемо перетворити. –VALUE це значення, яке ми хочемо перетворити на DATA_TYPE. Приклад: SELECT 'Вага Йогеша Вайшнава становить ' + CONVERT(NVARCHAR(20), weight) AS person_weight FROM person WHERE name = 'Yogesh Vaishnav';
Перетворення INT на VARCHAR SQL
- SELECT CAST(int_column AS VARCHAR(10)) AS varchar_column. FROM your_table;
- SELECT CONVERT(VARCHAR(10), int_column) AS varchar_column. FROM your_table;
- SELECT CONCAT(int_column, ”) AS varchar_column. FROM your_table;
- ВИБРАТИ. …
- SELECT FORMAT(int_column, '0') AS formatted_varchar_column.