Sample items in table1
table1.productname
Moshi Monsters 7-in-1 Accessory Pack - Poppet
Mario vs. Donkey Kong Mini-Land Mayhem!
나는 replace
'-. ! ' 모든, 나는 PRODUCTNAME에서 여러 문자가 예 등을 교체해야 productname
하지만 커서를 사용하지 않고 열의 다른 문자를 어떻게 바꿀 수 있습니까?
select case
when CHARINDEX ('-',[productname])>0 then REPLACE (ProductName ,'-',' ')
when CHARINDEX ('!',[productname])>0 then REPLACE (ProductName ,'!','')
when CHARINDEX ('.',[productname])>0 then REPLACE (ProductName ,'.','')
else productname
end as productname
from table1
내가이의 솔루션에 대한 접근해야하는 방법 만
-
output
Moshi Monsters 7 in 1 Accessory Pack Poppet
Mario vs. Donkey Kong Mini-Land Mayhem
expected output
Moshi Monsters 7 in 1 Accessory Pack Poppet
Mario vs Donkey Kong MiniLand Mayhem
을 대체 할 것으로 보인다 사용하여 점점 그 기둥은 약 5K 큽니다. 실제로 변경된 이름으로 table1을 업데이트하려고했지만 어떤 것이 변경되었는지 그리고 어떻게 업데이트 하는지를보고 싶었습니다. 이런 종류의 replace
성명으로 모든 요구 사항이 충족되지 않는 것 같습니다. 업데이트에서 여러 번 반복 할 수 있지만 업데이트에서 반복을 사용하는 방법을 알지 못합니다. 어떻게 처리해야합니까?
CASE 문은 WHEN/ELSE 절 중 하나, 즉 적용되는 첫 번째 절만을 수행합니다. 샘플에서는 제품 이름에 '-'문자가 있기 때문에 CASE는 해당 WHEN 절을 수행 한 다음 중지합니다. '-'가 없으면 '!'가 있는지 확인하고 '!'가없는 경우에만 확인합니다. 그것은 '.'을 확인할 것입니다. – Hellion
@Hellion 감사합니다. 그렇다면 올바르게 사용해야하는 문장에서'CASE'를 제거하면됩니다. 맞습니까? 나는 지금 그것을 시험해 볼 것이다. 마크 B가 말한 것과 같습니다. – tough