Я использую Sybase, и я делаю select, который возвращает мне столбец с именем «iftype», но его тип - int, и мне нужно преобразовать его в varchar. Когда я пытаюсь сделать выбор без функции преобразования, я получаю эту ошибку:
Код ошибки 257, состояние SQL 37000: неявное преобразование из типа данных 'VARCHAR' в 'INT' не допускается. Используйте функцию CONVERT, чтобы выполнить этот запрос.
Я не знаю, как реализовать функцию CONVERT
. Кто-нибудь может мне помочь ?
sql
select
type-conversion
sybase
Мурило
источник
источник
Ответы:
Используйте функцию конвертирования.
источник
VARCHAR
наINT
но я отвечал на вопрос, а не сообщение об ошибке.varchar
где этоint
необходимо. Вам нужно написать свой фактический оператор SQL, чтобы мы могли вам помочь.varchar(11)
в случае, если число большое отрицательное число.Используйте
STR
функцию:аргументы
float_expression
Выражение приблизительного числового (плавающего) типа данных с десятичной точкой.
длина
Общая длина Это включает в себя десятичную точку, знак, цифры и пробелы. По умолчанию 10.
десятичный
Количество мест справа от десятичной точки. десятичное число должно быть меньше или равно 16. Если десятичное число больше 16, то результат усекается до шестнадцати мест справа от десятичной точки.
источник: https://msdn.microsoft.com/en-us/library/ms189527.aspx
источник
STR()
должен быть правильный ответ, он проще и менее подвержен ошибкам, чем альтернативы.Вы можете использовать
CAST
функцию:источник
На самом деле вам не нужно использовать STR или Convert. Просто выберите «XXX» + LTRIM (1) делает работу. Возможно, LTRIM использует Convert или STR под капотом.
LTRIM также устраняет необходимость в предоставлении длины, и обычно значение по умолчанию 10 достаточно для преобразования целых чисел в строки.
источник
CONVERT(DATA_TYPE , Your_Column)
это синтаксис для метода CONVERT в SQL. С помощью этой функции преобразования мы можем преобразовать данные столбца, который находится справа от запятой (,), в тип данных слева от запятой (,). См. Пример ниже.источник