복붙노트

[SQL] 어떻게 테이블의 특정 컬럼의 첫 번째 문자를 제거하는 방법은 무엇입니까?

SQL

어떻게 테이블의 특정 컬럼의 첫 번째 문자를 제거하는 방법은 무엇입니까?

SQL에서 어떻게 테이블의 특정 컬럼의 값의 처음 4 개 문자를 제거 할 수 있습니까? 열 이름은 학생 코드이며, 예를 들어 값이 ABCD123Stu1231입니다. 나는 모든 기록을 내 테이블에서 처음 4 개 문자를 제거하려면

저를 인도하십시오

해결법

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

    1.

    SELECT RIGHT(MyColumn, LEN(MyColumn) - 4) AS MyTrimmedColumn
    

    편집하다: 설명하기 위해, RIGHT 2 인자 소요 - 문자열 (또는 열)에서 작동하도록하고, 복귀 문자의 수를 (문자열의 "오른쪽"사이드에서 시작). LEN은 열 데이터의 길이를 반환, 우리는 그래서 우리의 RIGHT 함수 잎 "뒤에"가장 왼쪽에있는 4 자 그 네 가지를 뺍니다.

    이 차종의 의미를 바랍니다.

    편집 다시 - 난 그냥 앤드류의 응답을 읽고, 그는 아주 잘 올바르게 interperpereted 수 있으며, 따라서 나는 잘못 될 수 있습니다. 이 경우 (방금 doctored 결과를 반환하는 대신 테이블을 업데이트 할) 경우에, 당신은이 작업을 수행 할 수 있습니다 :

    UPDATE MyTable
    SET MyColumn = RIGHT(MyColumn, LEN(MyColumn) - 4)
    

    그는 궤도에,하지만 그의 해결책은 폐기가 4 자 말한 것이 아니라, 문자열의 시작에 4 개 개의 문자를 유지합니다.

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

    2.

    Stuff(someColumn, 1, 4, '')
    

    이것은 ''아무것도 4 개 문자를 대체, 최초의 1 개 문자 위치에서 시작 말한다

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

    3.당신이이 개 문자열 기능을 가지고 왜 LEN을 사용합니까? 당신이 필요에 문자 5 ...

    당신이이 개 문자열 기능을 가지고 왜 LEN을 사용합니까? 당신이 필요에 문자 5 ...

    ...SUBSTRING (Code1, 5, 8000)...
    
  4. ==============================

    4.이 시도:

    이 시도:

    update table YourTable
    set YourField = substring(YourField, 5, len(YourField)-3);
    
  5. ==============================

    5.다음은 간단한의 모형 당신이 뭘하려는 건지의입니다 :)

    다음은 간단한의 모형 당신이 뭘하려는 건지의입니다 :)

    CREATE TABLE Codes
    (
    code1 varchar(10),
    code2 varchar(10)
    )
    
    INSERT INTO Codes (CODE1, CODE2) vALUES ('ABCD1234','')
    
    
    UPDATE Codes
    SET code2 = SUBSTRING(Code1, 5, LEN(CODE1) -4)
    

    그래서, 당신은 트림 할 필드에 마지막 문을 사용합니다 :)

    코드 1 다운 문자열 함수 트림, 다섯 번째 문자에서 시작하고, 코드 1 (4) 이하의 길이를 지속적으로 (문자 수 시작에서 스킵).

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

    6.완전한 것은

    완전한 것은

    DECLARE @v varchar(10)
    
    SET @v='#temp'
    
    select STUFF(@v, 1, 1, '')
    WHERE LEFT(@v,1)='#'
    
  7. ==============================

    7.또한 SQL에서이 작업을 수행 할 수 있습니다 ..

    또한 SQL에서이 작업을 수행 할 수 있습니다 ..

    substring(StudentCode,4,len(StudentCode))
    

    통사론

    substring (ColumnName,<Number of starting Character which u want to remove>,<length of given string>)
    
  8. ==============================

    8.이 시도. 100 % 작업

    이 시도. 100 % 작업

    UPDATE Table_Name
    SET RIGHT(column_name, LEN(column_name) - 1)
    

      

  9. ==============================

    9.값이 4보다 작은 길이를 가질 수 있다고 판단되는 경우 상위 응답은 적합하지 않다.

    값이 4보다 작은 길이를 가질 수 있다고 판단되는 경우 상위 응답은 적합하지 않다.

    이 제외를 허용하지 않기 때문에 당신은 "올바른 함수에 전달 된 매개 변수 길이가 잘못되었습니다"를 얻을 것이다. case 문을 사용합니다 :

    SELECT case when len(foo) >= 4 then RIGHT(foo, LEN(foo) - 4) else '' end AS myfoo from mytable;
    

    오른쪽에 음수 값을 전달하는 대신 전체 문자열의 첫 번째 문자를 트림 때문에 적은 4 이상의 값 대신 오류의 아래의 놀라운 동작을 제공합니다. 그것은 (MyColumn -5) 사용 RIGHT 더 의미가 대신.

    예는 상단의 대답은 "길이 - 5"를 사용할 때 당신은 무엇을 얻을 비교하는 대신 "-5"

    create temp table foo (foo) as values ('123456789'),('12345678'),('1234567'),('123456'),('12345'),('1234'),('123'),('12'),('1'), ('');
    
    select foo, right(foo, length(foo) - 5), right(foo, -5) from foo;
    
    foo       len(foo) - 5  just -5   
    --------- ------------  -------     
    123456789 6789          6789 
    12345678  678           678  
    1234567   67            67   
    123456    6             6    
    12345                       
    1234      234               
    123       3                 
    12                          
    1                           
    
  10. ==============================

    10.가 내장되어있어 목적에 적합 트림 기능.

    가 내장되어있어 목적에 적합 트림 기능.

    SELECT trim(both 'ag' from 'asdfg');
    btrim 
    -------
     sdf
    (1 riga)
    

    http://www.postgresql.org/docs/8.1/static/functions-string.html

  11. ==============================

    11.그것은 DB2 사용에 대한 공유 좋은 것 : INSERT (someColumn, 1,4 '')

    그것은 DB2 사용에 대한 공유 좋은 것 : INSERT (someColumn, 1,4 '')

    물건은 DB2에서 지원되지 않습니다

  12. ==============================

    12.당신은 #과 같은 특수 문자로 시작하는 처음 몇 문자를 제거해야하는 경우, 이것은 좋은 하나입니다 :

    당신은 #과 같은 특수 문자로 시작하는 처음 몇 문자를 제거해야하는 경우, 이것은 좋은 하나입니다 :

    UPDATE tblInvalidID
    SET [ColumnName] =stuff(ColumnName, 1, charindex('#', ColumnName), ' ') 
    
  13. from https://stackoverflow.com/questions/982819/how-do-i-remove-the-first-characters-of-a-specific-column-in-a-table by cc-by-sa and MIT license