쉼표(,)에 대한 JSL 이스케이프 문자 패턴안녕하세요. 누구든지 문자열에서 쉼표(,)를 이스케이프 처리하는 방법을 알려주실 수 있나요? 큰따옴표(")는 \!이지만 쉼표(,)는 인식하지 못합니다.
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴안녕 @dilipkumar ,
이것이 초기 jsl이 수행하는 작업인 것 같습니다. 말씀하신 대로 결과가 어떻게 나오는지 잘 모르겠습니다. 3C22, Y 메르스,.AAA-.75YIN 를 사용하면 쿼리를 통해 문자열의 어느 부분이 각 변수인지 식별할 수 있습니다. 따옴표를 추가하는 것은 쉼표만으로는 구분할 수 없기 때문에 개별 구성 요소를 구별하는 데 도움이 되는 다른 제안이었습니다. 그러나 SQL에 정통하지 않기 때문에 이것이 최선인지 실행 가능한 방법인지는 모르겠습니다.
@줄리안
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴@줄리안
안녕하세요, 정보 주셔서 감사합니다.
예, 내 문제를 올바르게 이해하셨습니다. 하지만 출력에 큰따옴표가 필요하지 않습니다.
MN <SPAN class="token operator">=</SPAN> <SPAN class="token string">" \!"3C22\!",\!"Y MERS,.AAA-.75YIN\!" "</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token comment">// which stores the string, including quotes:</SPAN>
<SPAN class="token comment">// "3C22" , "Y MERS,.AAA-.75YIN" i </SPAN>
나한테만 필요해<SPAN class="token comment"> 3C22</SPAN> ,<SPAN class="token comment"> 메르스,.AAA-.75YIN</SPAN> 출력으로.
제안해주세요.
문안 인사,
딜립
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴이를 디버깅하는 방법은 기본 SQL Server에서 작동하는 명령을 만드는 것입니다(내 생각에는 이것이 사용 중인 데이터베이스인 것 같습니다).그 후에는 JSL에서 동일한 문자열을 만드는 것이 어렵지 않습니다.코드를 좀 더 읽기 쉽게 만드는 제안이 있습니다.evalinsert를 사용하고 MN 변수를 캐럿 문자(^)로 묶으면 동일한 작업이 수행됩니다.
sqlQuery = evalinsert("execute [dbo].[ABC] @MN = '^MN^'");
print(sqlquery);
결과는 다음과 같습니다.
"execute [dbo].[ABC] @MN = '3C22,Y MERS,.AAA-.75YIN'"
문제는 이것이 잘못된 SQL Server 구문이라는 것입니다.변수 MN을 전체 문자열과 동일하게 설정합니다.SQL Server 전문가가 여기에 참여할 수 있습니까?
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴안녕 @dilipkumar ,
나는 당신이 지금 직면하고 있는 문제를 이해한다고 생각합니다. JMP가 아닌 데이터베이스가 사용자가 원하지 않는 방식으로 쿼리 문자열의 쉼표를 구문 분석하는 것이 문제인 것 같습니다.SQL은 제 전문 분야가 아니지만, 조금 검색을 해보니 알게 되었습니다. 이 게시물 SQL 문에서 쉼표와 같은 이스케이프 문자에 대해 논의했습니다. 다른 곳에서 쉼표를 사용하는 경우 쉼표만으로는 결정적이지 않기 때문에 별도의 절을 식별하는 데 도움이 되도록 큰따옴표를 추가하는 것이 좋습니다. 귀하의 예에서는 MN 변수를 정의할 때 다음과 같이 보일 수 있지만 이것이 작동하는지 테스트할 방법이 없으므로 가능한 제안으로만 제공합니다.
MN = " \!"3C22\!",\!"Y MERS,.AAA-.75YIN\!" ";
// which stores the string, including quotes:
// "3C22" , "Y MERS,.AAA-.75YIN"
@줄리안
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴실제로 아래에 정의된 변수(MN)를 기반으로 데이터베이스에서 데이터를 가져와야 합니다. jsl 스크립트에 MN을 전달하고 3C22, Y MERS,.AAA-.75YIN 데이터를 얻는 경우. 출력으로
//Create Database Connection
dbc = Create Database Connection(
"XXX",
)
MN = "3C22,Y MERS,.AAA-.75YIN";// where 3C22 is one input and 2nd input is Y MERS,.AAA-.75YIN"
dataTable = New Table( "RAW DATA");
ddt = Data Table( 1 );
//Execute SQL statements using this connection
sqlQuery = "execute [dbo].[ABC] @MN = '" || MN|| "'";
문안 인사,
딜립
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴다음은 변수 x="abc,k,yz"를 전달하는 몇 가지 용도입니다. JSL에서는 어느 것도 오류를 일으키지 않습니다.문제가 발생한 위치를 좀 더 구체적으로 알려주실 수 있나요?인용하지 않고 다른 리터럴 문자열에 추가하면 문제가 된다는 것을 알 수 있습니다.
names default to here(1);
x= "abc,k,yz";
rr=function({y},show(y));
rr(x);
dt=new table(new column(x,formula(random uniform())));
dt<<ADD rows=""></ADD>Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴안녕 @dilipkumar ,
스크립트를 더 많이 보지 않으면 JMP가 해당 변수를 그런 방식으로 처리하는 이유를 알 수 없습니다. 실제로 구분 기호에 따라 문자열을 분리하는 추가 작업을 수행하지 않는 한 전체 문자열이 항상 반환될 것으로 예상합니다. 문자열 X의 조각을 떼어내기 위해 Word()와 같은 함수를 사용하고 있습니까? 더 많은 정보를 공유해 주시면 이 문제를 해결하는 데 도움을 드리겠습니다. 또는 단일 변수를 전달하고 싶지만 변수(예: 목록)에서 참조하는 항목을 더 엄격하게 제어하려는 경우. 귀하의 설명에 따르면 한 요소는 "abc"이고 다른 요소는 "x,yz"가 되기를 원하는 것 같습니다. 다음 jsl이 도움이 될 수 있습니다.
x = {"abc", "k,yz"};
print( x[1] ); //"abc"
print( x[2] ); //k,yz"
@줄리안
Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴실제로 저는 변수 x= "abc,k,yz"를 정의했습니다. 여기서 abc는 첫 번째 문자열이고 x,yz는 두 번째 문자열입니다.
이제 내 스크립트를 통해 이러한 변수를 전달하는 경우. 실행 중에 내 스크립트는 변수 x를 abc, k 및 yz로 별도로 사용합니다.
문안 인사,
딜립Re: 쉼표(,)에 대한 JSL 이스케이프 문자 패턴안녕 @dilipkumar ,
쉼표에 이스케이프 문자가 필요하지 않으며 인용된 문자열 안에 간단히 사용할 수 있습니다.
참고로 이 게시물 하단에 jsl 이스케이프 시퀀스를 포함했습니다. 그러나 문자열의 쉼표가 일종의 오류를 일으키는 것처럼 보이는 상황에 직면하고 있습니까? 자세히 설명해 주시면 무슨 일이 일어나고 있는지 자세히 알아볼 수 있을 거라 확신합니다.
@줄리안
