SQL Server 2012를 사용하여 다음 기본 쿼리를 실행하고 있습니다.
SELECT MacroID
,MacroText
,AuditEventID
,AuditTypeCode
,AuditTimestamp
FROM APXFirm.dbo.AdvMacro
그러나 모든 결과 행에는 수많은 캐리지 리턴이 포함되어 있으며 행 내에 특정 행이 필요하다는 점에 주목했습니다.
다음은 결과 집합이 SQL에서 어떻게 보이는지입니다.
그러나 메모장에 붙여 넣으면 다음과 같이 보일 것입니다.
[Version] 3.5.1.212
[Description] TaxLot information for populating Holdings table
[Portfolios] @master
[Mode] Management
[AutoPrint] No
[Graph] No
[Sheet] No
[Attended] No
[Apply Copies] No
[Page Number By] Report
[Number One Page Reports] No
[Consolidate Composites] Both
[Frames] Yes
[Output File] TxLotExt
[Error File] TxLotExt
[Report] txlotext.rep Report txlotext.rep
$prifile 123103
$_outfile TxLotExt.xml
gauge 2 1
prop MB
frame g1 2 c y y y "Report txlotext.rep" y - y y 0 0 100 100 000000 ffffff 0 1 "" ffffff 000000 360 0 0 6a240a n
frame g0 2 r n n y "Report txlotext.rep" y - y y 0 0 100 100 000000 ffffff 0 1 "" ffffff 000000 360 0 0 6a240a n
필요한 것은 대괄호를 포함하여 [Report]로 시작하는 줄이지 만 다음 정보가 필요합니다.
txlotext.rep Report txlotext.rep
행 내의 행을 쿼리하는 방법을 모르겠습니다.
SELECT MacroID
,MacroText
,AuditEventID
,AuditTypeCode
,AuditTimestamp
,LTRIM(RTRIM(LEFT(
RIGHT(MacroText,LEN(MacroText) - CHARINDEX('[Report] ',MacroText) - LEN('[Report] ')),
CHARINDEX(CHAR(13),RIGHT(MacroText,LEN(MacroText) - CHARINDEX('[Report] ',MacroText) - LEN('[Report] '))) - 1
))) as DesiredLine
FROM APXFirm.dbo.AdvMacro
CHARINDEX (), RIGHT (), LEFT () 및 / 또는 SUBSTRING ()의 조합을 사용하여 원하는 것을 찾고 문자열을 자릅니다. CHAR (13)은 캐리지 리턴입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다