TSQL SELECT
문 안에서 문자열 리터럴을 N 번 반복하는 방법을 찾고 있습니다. 여기서 N은 테이블의 열에서 선택 (또는 계산)하는 정수입니다.TSQL 문자열을 선택하여 N 번 반복
특히 내가하고있는 것은 계층 적 트리 구조를 중첩 된 HTML 순서없는 목록으로 구문 분석하는 것입니다. 그래서 우리가 나무 깊숙이 깊숙이 있다고 가정하겠습니다. 그러나 다음 항목은 매우 얕습니다. 트리의 위쪽에서 열린 <ul>
및 <li>
태그를 닫아야합니다. 그래서 내가 무슨 짓을 (하지만 난 너무 미봉책하다고 생각하는)입니다 :
select case Depth-Next_Depth
when -1 then ''
when 0 then ''
when 1 then '</ul></li>'
when 2 then '</ul></li></ul></li>'
when 3 then '</ul></li></ul></li></ul></li>'
...
end
from MyTable
내가 ReturnClosingTags(@N int)
같은 스칼라 함수를 만들 수 있다는 것을 알고 있지만 나는이에 대한 데이터베이스에 다른 개체를 추가하고 싶지 않아요. select 문에서 모든 것을 수행하여 DB 스키마를 더 이상 수정할 필요가 없도록하고 싶습니다.
내 전체 접근법 (HTML로 내 트리를 구문 분석하기 위해 코드를 직접 작성)이 무용지물 일 수 있으므로 대안으로 의견을 말하면 자유 롭다. 그러나 그 자체의 질문에 관심이있다. 그래서 "duh 그냥 .NET 라이브러리 XYZ를 사용하십시오."라고 말하더라도이 작은 SQL 퍼즐에 대한 대답이 있는지 알고 싶습니다.