[sql] 표에서 특정 열의 첫 문자를 어떻게 제거합니까?

SQL에서 테이블의 특정 열 값의 처음 4자를 제거하려면 어떻게해야합니까? 열 이름은 Student Code이며 예제 값은 ABCD123Stu1231입니다. 모든 레코드에 대해 테이블에서 처음 4자를 제거하고 싶습니다.

저를 안내 해주세요



답변

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

편집 : 설명하기 위해 RIGHT는 작동 할 문자열 (또는 열)과 반환 할 문자 수 (문자열의 “오른쪽”에서 시작)의 두 가지 인수를 취합니다. LEN은 열 데이터의 길이를 반환하고 RIGHT 함수는 가장 왼쪽에있는 4자를 “뒤에”남기도록 4를 뺍니다.

이것이 의미가 있기를 바랍니다.

다시 편집-나는 Andrew의 응답을 읽었으며 그는 제대로 이해했을 수 있습니다. 이 경우 (의사 결과를 반환하지 않고 테이블을 업데이트하려는 경우) 다음을 수행 할 수 있습니다.

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

그는 올바른 길을 가고 있지만 그의 해결책은 4 글자를 버리지 않고 문자열의 시작 부분에 4 글자를 유지 합니다.


답변

Stuff(someColumn, 1, 4, '')

첫 번째 1문자 위치 부터 시작하여 4문자를 아무것도 아닌 것으로 바꿉니다.''


답변

왜 LEN을 사용하여 2 개의 문자열 함수가 있습니까? 캐릭터 5 만 있으면됩니다 …

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


답변

이 시도:

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


답변

다음은 수행하려는 작업의 간단한 모형입니다. 🙂

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)

따라서 트리밍하려는 필드에 대해 마지막 명령문을 사용하십시오. 🙂

SUBSTRING 함수는 FIFTH 문자에서 시작하여 CODE1의 길이가 4 미만 (시작에서 건너 뛴 문자 수) 미만인 Code1을 잘라냅니다.


답변

완전한 것

DECLARE @v varchar(10)

SET @v='#temp'

select STUFF(@v, 1, 1, '')
WHERE LEFT(@v,1)='#'


답변

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

substring(StudentCode,4,len(StudentCode))

통사론

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