최대 날짜를 사용하여 쿼리안녕하세요,
날짜 열의 최대 날짜를 기준으로 매주 업데이트되는 파일이 있습니다. 매주 파일을 열고 현재 최대 날짜를 확인한 다음 최대 날짜 이후의 데이터를 쿼리합니다. Max Date를 꺼내서 내가 사용 중인 쿼리에 삽입할 수 있습니까?
현재 내 파일은 2019년 8월 15일로 업데이트되었으며 파일을 업데이트하기 위해 2019년 8월 15일보다 큰 데이터를 쿼리하고 싶습니다.
Re: 최대 날짜를 사용하여 쿼리@pmroz
감사합니다 pmroz. 평범하고 쉬운 코드. 매우 도움이 됩니다.
Re: 최대 날짜를 사용하여 쿼리Oracle을 사용하는 경우 날짜 형식이 명확하도록 날짜 필드에 TO_DATE를 사용하는 것을 고려할 수 있습니다.SQL Server를 사용하는 경우 yyyy-mm-dd가 기본 형식이므로 변환이 필요하지 않습니다.
dv = today();
dvf = Format( dv, "yyyy-mm-dd" );
sql = Eval Insert( "select * where purchase_date > TO_DATE('^dvf^', 'yyyy-mm-dd')" );
show(sql);Re: 최대 날짜를 사용하여 쿼리안녕하세요 브라이언,
이미 제공한 줄을 편집하여 실제로 실행할 수 있었습니다. 작은따옴표를 포함하기 위해 val 부분에 추가 줄을 추가했습니다. 아래에 작은따옴표로 업데이트된 val이 필요하면 자유롭게 비판해 주세요.
val = Column( 1 )[1];
dv = As Date( val );
dvf = Format( dv, "yyyy-mm-dd" );
dvfs = ("'" || dvf || "'");
Show( dvfs );
sql = Eval Insert( "select * where purchase_date > ^dvfs^" );
Re: 최대 날짜를 사용하여 쿼리안녕하세요 브라이언,
날짜 주위에 작은따옴표를 추가하고 싶습니다(특정 DB에서 쿼리하는 데 필요함). 평가판에 작은따옴표를 직접 추가하시겠습니까?
예:
sql = Eval Insert( "select * where purchase_date > '^dvf^'" );
Re: 최대 날짜를 사용하여 쿼리이전 예제를 수정하면 다음과 같이 할 수 있습니다.
val = Column( 1 )[1];
dv = As Date( val );
dvf = Format( dv, "m/d/y" );
Show( dvf );
sql = Eval Insert( "select * where purchase_date > ^dvf^" );
Show( sql );
Re: 최대 날짜를 사용하여 쿼리브라이언에게 감사드립니다. 예상대로 작동합니다. 값을 숫자 형식(예: 2010년 12월 31일 또는 2010년 12월 31일)으로 다시 형식화할 수 있습니까? 날짜에 Dec와 같은 문자가 있으면 쿼리에 적합하지 않습니다.
Re: 최대 날짜를 사용하여 쿼리이전 예를 사용하여 계속하면 다음과 같습니다.
값 = 열( 1 )[1];
표시(발);
표시( 날짜로( val ) );
sql = eval insert("select * where buy_date > ^As Date(val)^");
쇼(sql);
그러면 로그에 다음이 표시됩니다.
발 = 3376598400;
날짜(val) = 31Dec2010;
sql = "선택 * 여기서 구매 날짜 > 2010년 12월 31일";
그러면 결과 SQL을 실행할 수 있습니다.
Re: 최대 날짜를 사용하여 쿼리첫 번째 테이블의 다음 SQL에 최대 날짜를 삽입하는 방법을 보여줄 수 있습니까?
내가 사용하고 있는 테이블에는 데이터베이스에서 새 데이터를 쿼리하기 위해 최대값으로 수행할 구매_날짜라는 열이 있습니다. 쿼리의 예는 다음과 같습니다.
DBC = 데이터베이스 연결 생성 ( "DSN=PROD; UID=" ||IDC|| " ;PWD= " ||패스|| " ;MODE=공유;DBALIAS=생산" );
data_sql = 평가 삽입 ( "
CUST_NM, PURCHASE_AMT, PURCHASE_DATE, PURCHASE_TM, ORDER_NUM, PRODUCT_NM, PRODUCT_TYP, COUNTRY_CD, APPROVE_DECLINED를 선택하세요.
PURCHASE_DATA에서
여기서 PURCHASE_DATE > '2019-08-16'
및 PRODUCT_TYP = 'Y'
('0840')의 COUNTRY_CD
그리고 APPROVE_DECLINED ='A'" );
데이터_dt = SQL을 실행 (dbc, 데이터_sql);
데이터베이스 연결 닫기 (dbc);
Re: 최대 날짜를 사용하여 쿼리구체적인 내용을 알지 못해도 이 모든 것을 하나의 쿼리 내에서 유지할 수 있어야 할 것 같습니다.그러나 언제든지 쿼리 빌더를 사용하여 문제의 테이블에서 날짜로 Max를 수행한 다음 해당 값을 추출하여 SQL 스크립트의 다른 부분으로 대체할 수 있습니다.날짜 열에 대여 날짜가 있는 영화 데이터베이스 Rentals 테이블에서 작업하는 쿼리 작성기의 스크립트 예에서 생성되는 스크립트는 다음과 같습니다.
New SQL Query(
Connection( "ODBC:DSN=SQLServer SQBTest;UID=sa;PWD=%_PWD_%;APP=JMP;WSID=machine;DATABASE=SQBTest;" ),
QueryName( "g6_Rentals" ),
Select(
Column(
"OrderDate",
"t1",
Alias( "Maximum-OrderDate" ),
SavedJMPName( "OrderDate" ),
Aggregation( "Maximum" ),
JMP Name( "Maximum-OrderDate", 0 ),
Numeric Format( "m/d/y", "-1", "NO", "" )
)
),
From( Table( "g6_Rentals", Schema( "SQBTest" ), Alias( "t1" ) ) )
) << Run Foreground();
val = Column( 1 )[1];
Show( As Date( val ) );
여기에서는 날짜 열에 대해 최대값 집계를 수행하고 있습니다.결과 테이블에는 하나의 행과 열이 있으며, 그 값을 로그에 표시하여 올바른지 확인합니다.
브라이언 코코란
JMP 개발