복붙노트

[SQL] SQL 쿼리를 사용하여 int로 문자열을 변환

SQL

SQL 쿼리를 사용하여 int로 문자열을 변환

어떻게 2005 SQL 서버에서 SQL 쿼리를 사용하여 문자열을 정수로 변환하는?

해결법

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

    1.당신은 CAST 또는 CONVERT를 사용할 수 있습니다 :

    당신은 CAST 또는 CONVERT를 사용할 수 있습니다 :

    SELECT CAST(MyVarcharCol AS INT) FROM Table
    
    SELECT CONVERT(INT, MyVarcharCol) FROM Table
    
  2. ==============================

    2.또한 숫자 문자열로 변환 할 때하는 INT에 '0.72 '56을 사용하면 SQL 오류에 대해 올 수있다, 즉주의하십시오.

    또한 숫자 문자열로 변환 할 때하는 INT에 '0.72 '56을 사용하면 SQL 오류에 대해 올 수있다, 즉주의하십시오.

    Conversion failed when converting the varchar value '56.72' to data type int.
    

    다음과 같이이 두 개종을 해결하기 위해 :

    STRING -> 숫자 -> INT

    또는

    SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT)
    

    TableB의에 TableA의 데이터를 복사 할 때 (당신이 가까운 INT까지 반올림 행복 경우) 두 번째 변환을 필요가없는 있도록 변환은 암시 적입니다 :

    INSERT INTO TableB (MyIntCol)
    SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol]
    FROM TableA
    
  3. ==============================

    3.SQL 서버 2012을 시작으로, 당신은 TRY_PARSE 또는 TRY_CONVERT를 사용할 수 있습니다.

    SQL 서버 2012을 시작으로, 당신은 TRY_PARSE 또는 TRY_CONVERT를 사용할 수 있습니다.

    SELECT TRY_PARSE(MyVarcharCol as int)
    
    SELECT TRY_CONVERT(int, MyVarcharCol)
    
  4. ==============================

    4.이 아테나에 나를 위해 일한,이 시도 :

    이 아테나에 나를 위해 일한,이 시도 :

    cast(MyVarcharCol as integer)
    
  5. from https://stackoverflow.com/questions/728833/convert-a-string-to-int-using-sql-query by cc-by-sa and MIT license