SQL에서 정수를 문자열(varchar)로 변환
많은 애플리케이션에서는 정수 데이터 유형을 문자열, 특히 varchar 유형으로 변환해야 합니다. 이 기사에서는 SQL에서 int를 varchar로 변환하는 여러 가지 방법을 소개합니다.
무엇이 문제인가요?
사용자가 int를 varchar로 변환하기 위해 다음 쿼리를 실행하려고 했습니다.
<code class="language-sql">select CAST(id as VARCHAR(50)) as col1 from t9; select CONVERT(VARCHAR(50),id) as colI1 from t9;</code>
이 쿼리로 인해 오류가 발생했습니다.
해결책은 무엇인가요?
int를 varchar로 변환하려면 VARCHAR 데이터 유형 대신 CHAR 데이터 유형을 사용해야 합니다. 다음 쿼리가 작동합니다:
<code class="language-sql">select CAST(id as CHAR(50)) as col1 from t9; select CONVERT(id, CHAR(50)) as colI1 from t9;</code>
왜 솔루션이 작동하나요?
CHAR 데이터 유형은 고정 길이 문자열 데이터 유형이고, VARCHAR은 가변 길이 문자열 데이터 유형입니다. int를 CHAR로 변환하면 int가 지정된 길이의 문자열로 변환되고 나머지 문자는 공백으로 채워집니다.
반면, VARCHAR 데이터 유형은 가변 길이 문자열 데이터 유형이므로 문자열의 길이가 달라질 수 있습니다. int를 VARCHAR로 변환하면 int가 문자열로 변환되고 문자열의 길이는 int의 길이에 따라 결정됩니다.
추가 참고사항
CAST 함수를 사용할 때 구문은 다음과 같습니다.
<code class="language-sql">CAST(expr AS data_type)</code>
여기서 expr은 변환할 표현식이고 data_type은 변환할 데이터 유형입니다.
CONVERT 함수를 사용할 때 구문은 다음과 같습니다.
<code class="language-sql">CONVERT(expr, data_type)</code>
또는
<code class="language-sql">CONVERT(expr USING transcoding_name)</code>
여기서 expr은 변환할 표현식, data_type은 변환할 데이터 유형, transcoding_name은 변환 방법의 이름입니다.
위 내용은 SQL에서 정수를 문자열(varchar)로 올바르게 캐스팅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!