복붙노트

[SQL] VARCHAR에 캐스트 INT

SQL

VARCHAR에 캐스트 INT

나는 쿼리 아래에 있고 VARCHAR에 캐스팅 ID 필요

개요

create table t9 (id int, name varchar (55));
insert into t9( id, name)values(2, 'bob');

내가 뭘하려합니다

select CAST(id as VARCHAR(50)) as col1 from t9;

select CONVERT(VARCHAR(50),id) as colI1 from t9;

하지만 그들은 작동하지 않습니다. 제안하십시오.

해결법

  1. ==============================

    1.당신은 CHAR 데이터 형식으로 캐스팅 또는 변환해야합니다, 당신은 / 변환 데이터를 캐스팅 할 수없는 VARCHAR 데이터 타입이 없습니다 :

    당신은 CHAR 데이터 형식으로 캐스팅 또는 변환해야합니다, 당신은 / 변환 데이터를 캐스팅 할 수없는 VARCHAR 데이터 타입이 없습니다 :

    select CAST(id as CHAR(50)) as col1 
    from t9;
    
    select CONVERT(id, CHAR(50)) as colI1 
    from t9;
    

    액션 - - 다음 SQL보기를 통해 SQL 바이올린의를 :

    /*! Build Schema */
    create table t9 (id INT, name VARCHAR(55));
    insert into t9 (id, name) values (2, 'bob');
    
    /*! SQL Queries */
    select CAST(id as CHAR(50)) as col1 from t9;
    select CONVERT(id, CHAR(50)) as colI1 from t9;
    

    잘못된 데이터 형식으로 변환하려고했던 사실 외에, 당신은 변환을 위해 사용하고있는 구문이 잘못되었습니다. 변환 기능은 expr이 당신의 열 또는 값으로 다음을 사용합니다 :

     CONVERT(expr,type)
    

    또는

     CONVERT(expr USING transcoding_name)
    

    원래 쿼리 구문 뒤로했다.

  2. ==============================

    2.VARCHAR가로 캐스트에 유효한 형식이 아닙니다 때문에 그가 있어요. 만에 캐스트 할 수있는 MySQL의 문서 (http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast)에 따르면 :

    VARCHAR가로 캐스트에 유효한 형식이 아닙니다 때문에 그가 있어요. 만에 캐스트 할 수있는 MySQL의 문서 (http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast)에 따르면 :

    나는 당신의 가장 좋은 방법은 CHAR을 사용하는 것입니다 생각합니다.

  3. ==============================

    3.예

    SELECT id || '' FROM some_table;
    or SELECT id::text FROM some_table;
    

    PostgreSQL을하지만, MySQL은 그것을 허용하지 않습니다!

    MYSQL의 지름길 :

    SELECT concat(id, '') FROM some_table;
    
  4. ==============================

    4.나는 MySQL이 없지만, RDBMS (포스트 그레스는 다른 사람의 사이에서) 거기있는 당신은 해킹을 사용할 수 있습니다

    나는 MySQL이 없지만, RDBMS (포스트 그레스는 다른 사람의 사이에서) 거기있는 당신은 해킹을 사용할 수 있습니다

    SELECT id || '' FROM some_table;
    

    CONCATENATE는 암시 적 변환을 수행합니다.

  5. ==============================

    5.나는 정수 열을 비교하는 문제와 VARCHAR 열을 X 해결

    나는 정수 열을 비교하는 문제와 VARCHAR 열을 X 해결

    여기서, CAST (COLUMN_NAME AS CHAR 문자 집합 라틴) 부씩 latin1_general_ci = varchar_column_name

  6. ==============================

    6.사용하다 :

    사용하다 :

    SELECT cast(CHAR(50),id) as colI1 from t9;
    
  7. ==============================

    7.나는 일반적인 용어로이 응답하고, 위의 명의 참여자에게 매우 감사한다. 나는 MySQL의 워크 벤치에서 MySQL을 사용하고 있습니다. 나는 문자와 GROUP_CONCAT 방법을 사용하는 int의 서로를 연결하는 시도 비슷한 문제가 있었다. 요약하면, 어떤 날 위해 일 해왔다 것은 이것이다 : 하자, 그래서 쿼리가된다 당신의 문자가 '내가'는 'C'와 INT 말한다 : ... GROUP_CONCAT (CONCAT (c ''AS CHAR I CAST ()) ...

    나는 일반적인 용어로이 응답하고, 위의 명의 참여자에게 매우 감사한다. 나는 MySQL의 워크 벤치에서 MySQL을 사용하고 있습니다. 나는 문자와 GROUP_CONCAT 방법을 사용하는 int의 서로를 연결하는 시도 비슷한 문제가 있었다. 요약하면, 어떤 날 위해 일 해왔다 것은 이것이다 : 하자, 그래서 쿼리가된다 당신의 문자가 '내가'는 'C'와 INT 말한다 : ... GROUP_CONCAT (CONCAT (c ''AS CHAR I CAST ()) ...

  8. ==============================

    8.이 또한 같은 것을 할 수 있어야한다 :

    이 또한 같은 것을 할 수 있어야한다 :

    Select (id :> VARCHAR(10)) as converted__id_int
    from t9 
    
  9. from https://stackoverflow.com/questions/15368753/cast-int-to-varchar by cc-by-sa and MIT license