[SQL] 어떻게 테이블의 특정 컬럼의 첫 번째 문자를 제거하는 방법은 무엇입니까?
SQL어떻게 테이블의 특정 컬럼의 첫 번째 문자를 제거하는 방법은 무엇입니까?
SQL에서 어떻게 테이블의 특정 컬럼의 값의 처음 4 개 문자를 제거 할 수 있습니까? 열 이름은 학생 코드이며, 예를 들어 값이 ABCD123Stu1231입니다. 나는 모든 기록을 내 테이블에서 처음 4 개 문자를 제거하려면
저를 인도하십시오
해결법
-
==============================
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.
Stuff(someColumn, 1, 4, '')
이것은 ''아무것도 4 개 문자를 대체, 최초의 1 개 문자 위치에서 시작 말한다
-
==============================
3.당신이이 개 문자열 기능을 가지고 왜 LEN을 사용합니까? 당신이 필요에 문자 5 ...
당신이이 개 문자열 기능을 가지고 왜 LEN을 사용합니까? 당신이 필요에 문자 5 ...
...SUBSTRING (Code1, 5, 8000)...
-
==============================
4.이 시도:
이 시도:
update table YourTable set YourField = substring(YourField, 5, len(YourField)-3);
-
==============================
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.완전한 것은
완전한 것은
DECLARE @v varchar(10) SET @v='#temp' select STUFF(@v, 1, 1, '') WHERE LEFT(@v,1)='#'
-
==============================
7.또한 SQL에서이 작업을 수행 할 수 있습니다 ..
또한 SQL에서이 작업을 수행 할 수 있습니다 ..
substring(StudentCode,4,len(StudentCode))
통사론
substring (ColumnName,<Number of starting Character which u want to remove>,<length of given string>)
-
==============================
8.이 시도. 100 % 작업
이 시도. 100 % 작업
UPDATE Table_Name SET RIGHT(column_name, LEN(column_name) - 1)
-
==============================
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.가 내장되어있어 목적에 적합 트림 기능.
가 내장되어있어 목적에 적합 트림 기능.
SELECT trim(both 'ag' from 'asdfg'); btrim ------- sdf (1 riga)
http://www.postgresql.org/docs/8.1/static/functions-string.html
-
==============================
11.그것은 DB2 사용에 대한 공유 좋은 것 : INSERT (someColumn, 1,4 '')
그것은 DB2 사용에 대한 공유 좋은 것 : INSERT (someColumn, 1,4 '')
물건은 DB2에서 지원되지 않습니다
-
==============================
12.당신은 #과 같은 특수 문자로 시작하는 처음 몇 문자를 제거해야하는 경우, 이것은 좋은 하나입니다 :
당신은 #과 같은 특수 문자로 시작하는 처음 몇 문자를 제거해야하는 경우, 이것은 좋은 하나입니다 :
UPDATE tblInvalidID SET [ColumnName] =stuff(ColumnName, 1, charindex('#', ColumnName), ' ')
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
'SQL' 카테고리의 다른 글
[SQL] 선택하여 쿼리 결과에 행을 추가합니다 (0) | 2020.07.23 |
---|---|
[SQL] 같은 서버의 다른 데이터베이스의 백업에서 새 데이터베이스 만들기? (0) | 2020.07.22 |
[SQL] 외부 데이터베이스에 연결 - 안드로이드 응용 프로그램을 (0) | 2020.07.22 |
[SQL] 번역 SQL은 R data.table 구문 외래 키에 조인 (0) | 2020.07.22 |
[SQL] 스프링 JDBC를 사용하는 경우 (+20 라인 SQL) 긴 청소 방법을 구체화하기 위해? [닫은] (0) | 2020.07.22 |