복붙노트

[SQL] MySQL은 컬럼의 마지막 두 글자 스트립

SQL

MySQL은 컬럼의 마지막 두 글자 스트립

나는 항목이 문자열은 SQL 열이. 나는 예를 들면, 마지막 두 문자를 트리밍 한 후 해당 항목을 표시해야 항목은 출력 1,999,023해야 199,902,345 경우.

우리가 마지막 두 글자가 무엇인지 알고있는 경우에만 트림을 제공 것처럼 TRIM하지만 외모에보고했습니다. 하지만 내 경우에, 나는 그 마지막 두 숫자는 그들이 그냥 폐기 할 필요가 무엇인지 모른다.

그래서, 짧은에, 어떤 MySQL의 문자열 연산은 문자열의 마지막 두 문자를 트리밍 할 수 있습니다?

나는 문자열의 길이가 해결되지 않은 것을 추가해야합니다. 그것은 9 자, 11 자 또는 무엇이든지 될 수 있습니다.

해결법

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

    1.(문자열에서 마지막 n 문자를 제거하거나 다른 방법을 넣어) 문자열에서 마지막 N을 제외한 모든 문자를 선택합니다; 함께 SUBSTRING 및 CHAR_LENGTH 기능을 사용 :

    (문자열에서 마지막 n 문자를 제거하거나 다른 방법을 넣어) 문자열에서 마지막 N을 제외한 모든 문자를 선택합니다; 함께 SUBSTRING 및 CHAR_LENGTH 기능을 사용 :

    SELECT col
         , /* ANSI Syntax  */ SUBSTRING(col FROM 1 FOR CHAR_LENGTH(col) - 2) AS col_trimmed
         , /* MySQL Syntax */ SUBSTRING(col,     1,    CHAR_LENGTH(col) - 2) AS col_trimmed
    FROM tbl
    

    문자열의 끝에서 하위 문자열 특정을 제거하려면 TRIM 기능을 사용 :

    SELECT col
         , TRIM(TRAILING '.php' FROM col)
    -- index.php becomes index
    -- index.txt remains index.txt
    
  2. ==============================

    2.왜 LEFT (문자열, 길이) 함수를 사용하는 대신 하위 문자열 없습니다.

    왜 LEFT (문자열, 길이) 함수를 사용하는 대신 하위 문자열 없습니다.

    LEFT(col,length(col)-2) 
    

    당신은 MySQL의 문자열 함수에 대한 자세한 내용을 알고 여기 https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_left 방문 할 수 있습니다.

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

    3.하위 문자열 ().

    하위 문자열 ().

    http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

  4. ==============================

    4.당신은 길이 (that_string) 마이너스 당신은 SUBSTRING (에서 제거 할 문자 수) 선택을 아마 사용하거나 TRIM () 함수를 사용할 수 있습니다.

    당신은 길이 (that_string) 마이너스 당신은 SUBSTRING (에서 제거 할 문자 수) 선택을 아마 사용하거나 TRIM () 함수를 사용할 수 있습니다.

  5. from https://stackoverflow.com/questions/6080662/strip-last-two-characters-of-a-column-in-mysql by cc-by-sa and MIT license