SQL 쿼리에서 쉼표로 구분 된 목록에서 마지막 쉼표를 제거하려면 어떻게합니까?쉼표로 구분 된 목록 끝에 쉼표가 나타나지 않도록 SQL을 제거하십시오.
출력으로 쉼표로 구분 된 문자열을 얻은 샘플을 작성했습니다. 그러나 나는 문자열이 끝난 후에 쉼표가오고 있음을 발견했다. 나는 그것을 다듬 으려고했지만 할 수 없었습니다. 어느 누구도 그것을 벗을 수 있도록 도와 줄 수 있습니까? 일부 텍스트, 좀 더 텍스트, 더는 아직 더
SQL 쿼리에서 쉼표로 구분 된 목록에서 마지막 쉼표를 제거하려면 어떻게합니까?쉼표로 구분 된 목록 끝에 쉼표가 나타나지 않도록 SQL을 제거하십시오.
출력으로 쉼표로 구분 된 문자열을 얻은 샘플을 작성했습니다. 그러나 나는 문자열이 끝난 후에 쉼표가오고 있음을 발견했다. 나는 그것을 다듬 으려고했지만 할 수 없었습니다. 어느 누구도 그것을 벗을 수 있도록 도와 줄 수 있습니까? 일부 텍스트, 좀 더 텍스트, 더는 아직 더
DECLARE @my_string nvarchar(128)
SET @my_string = N'Some Text, Some More Text, Even More, Yet More,'
select SUBSTRING(@my_string, 1, LEN(@my_string) - 1)
당신이 추가 지원이 필요합니다.
Update MyTable
Set MyField = Case
When Right(MyField,1) = ',' Then Substring(MyField, 1, Len(MyField) - 1)
Else MyField
End
, BTW 또 다른 대안 :
Update MyTable
Set MyField = Substring(MyField, 1, Len(MyField) - 1)
Where Value Like '%,'
내 결과 문자열이
예처럼 보인다
테스트 스크립트 :
Declare @TestValues Table (Value nvarchar(100) not null)
Insert @TestValues(Value) Values('XYZZY')
Insert @TestValues(Value) Values('PLUGH')
Insert @TestValues(Value) Values('SpiffyValueWithComma,')
Select Case
When Right(Value,1) = ',' Then Substring(Value, 1, Len(Value) - 1)
Else Value
End
From @TestValues
결과 :
XYZZY PLUGH SpiffyValueWithComma
업데이트
한 possibiity은 뒤에 값이 쉼표가 아니라 쉼표와 공백이 아닌 것입니다. 그런 경우에는, 당신은과 같이 쿼리를 수정해야합니다, 당신은 더 많은 정보를 제공해야
Update MyTable
Set MyField = Substring(MyField, 1, Len(MyField) - 1)
Where Value Like '%,'
Or Value Like '%, '
아니요 yaar이 작동하지 않습니다. –
@Febin - 작동하지 않는 경우 데이터에 이상이 있습니다. 위의 결과가 잘못된 결과를 반환하는 샘플 입력과 구체적으로 입력 할 수 있습니까? – Thomas
- 테스트 스크립트를 테스트했습니다. 멋진 답변을 주신 덕분입니다. 그러나 나는 혼란 스럽다. 왜냐하면 나의 열렬한 절차에서 나는 쉼표로 분리 된 목록으로 나의 가치를 되 돌린다. 목록에서 마지막 쉼표 만 제거하고 싶으므로 여기에 표가 필요 없습니다. 내가 어떻게 그걸 다듬을 수 있지? –
감사합니다. 정말 도움이되었습니다. –