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>)