Sybase를 사용하고 있으며 “iftype”이라는 열을 반환하는 select를 수행하고 있지만 해당 유형은 int이며 varchar로 변환해야합니다. 변환 함수없이 선택하려고하면이 오류가 발생합니다.
오류 코드 257, SQL 상태 37000 : 데이터 유형 ‘VARCHAR’에서 ‘INT’로의 암시 적 변환이 허용되지 않습니다. 이 쿼리를 실행하려면 CONVERT 함수를 사용하십시오.
나는 기능을 구현하는 방법을 모른다 CONVERT
. 누구든지 나를 도울 수 있습니까?
답변
변환 기능을 사용하십시오.
SELECT CONVERT(varchar(10), field_name) FROM table_name
답변
STR
기능을 사용하십시오 :
SELECT STR(field_name) FROM table_name
인수
float_expression
소수점이있는 근사 숫자 (float) 데이터 유형의 표현식입니다.
길이
총 길이입니다. 여기에는 소수점, 부호, 숫자 및 공백이 포함됩니다. 기본값은 10입니다.
소수
소수점 오른쪽의 자리수입니다. 소수점 이하 자릿수는 16보다 작거나 같아야합니다. 소수점 이하 자릿수가 16보다 크면 소수점 오른쪽의 16 자리로 결과가 잘립니다.
답변
당신은 CAST
기능 을 사용할 수 있습니다 :
SELECT CAST(your_column_name AS varchar(10)) FROM your_table_name
답변
실제로 STR 또는 변환을 사용할 필요가 없습니다. ‘xxx’+ LTRIM (1)을 선택하면 작업이 수행됩니다. 아마도 LTRIM은 후드 아래에서 Convert 또는 STR을 사용합니다.
LTRIM은 또한 길이를 제공 할 필요가 없으며 일반적으로 기본값 10은 정수에서 문자열로 변환하기에 충분합니다.
SELECT LTRIM(ColumnName) FROM TableName
답변
CONVERT(DATA_TYPE , Your_Column)
SQL에서 CONVERT 메소드의 구문입니다. 이 변환 함수에서 쉼표 (,)의 오른쪽에있는 열의 데이터를 쉼표 (,)의 왼쪽에있는 데이터 유형으로 변환 할 수 있습니다. 아래 예를 참조하십시오.
SELECT CONVERT (VARCHAR(10), ColumnName) FROM TableName
답변
