-- 어제 날짜 구하기
select to_char(sysdate-1,'yyyymmdd') from dual;
-- 특정일 전날 날짜 구하기
select to_char((to_date('20210112','yyyymmdd'))-1, 'yyyymmdd') from dual;
-- 시각 구하기(24시 표시 버전)
select to_char(sysdate,'hh24') from dual;
-- 시각 구하기
select to_char(sysdate,'hh') from dual;
-- 분 구하기
select to_char(sysdate,'mi') from dual;
-- 초 구하기
select to_char(sysdate,'ss') from dual;
checkbox가 체크된 tr의 자식인 td들의 input value들을 다 선택하는 방법..
* table tr index는 0부터 시작한다
* td index도 0부터 시작한다
* 원하는 행부터 checkbox가 checked 인지 검사
* checked된 행을 찾으면 그 안의 input[type=text]인 자식을 다 찾는다..
* find()로 찾은 자식들은 앞에부터 eq(0)으로 찾으면 된다. ㅎㅎㅎㅎ
var data[]; //data배열 생성
for(var i=2; i <$('table tr').size(); i++){
if($('table tr').eq(i).children().find('input[type="checkbox"]').is(':checked')){
var setData={}; //배열에 넣을 데이터쌍 변수 생성
setData['aa'] = $('table tr').eq(i).find('input[type="text"]').eq(0).val();
setData['bb'] = $('table tr').eq(i).find('input[type="text"]').eq(1).val();
data.push(setData);
}
}
setData를 for문 밖에 생성하게 되면
매번 다른 tr의 td값들이 덮어씌워진다. 결국 한 행의 td값들만 들어가게 됨. ㅠ ㅠ
콘솔에서 찍어보니 data는 이렇게 생긴거같다
data : [ { aa : "111" , bb : "222" } ], [ { aa : "333" , bb : "444"} ]
for /f"tokens=5 delims="%aIN ('netstat -ano ^| findstr 8080') do set result=%a
tokens : 결과에서 몇 번째를 저장할 지 설정
delims : 구분자
"tokens=5 delims= " : 공백을 구분자로 다섯번째 문자열을 선택(3148)
%a : 임시로 쓸 변수
result : 명령어 저장할 변수
in ( ) : 실행할 명령어를 넣는다.
do() : 앞의 명령어 실행 후 실행할 내용
* 명령어에 ' | ' 나 ' ( ' 같은 특문이 있으면 앞에 ^를 붙일 것
* 변수 세팅시 ( set 변수=%a) 공백 없도록
* batch파일에 적을 때에는 %a에 %를 하나 더 붙인다
cmd에 실행한 예시
netstat 결과가 두줄이라 그런지... set result가 두 번 실행됨..
C:\Users\heirr>for /f "tokens=5 delims= " %a IN ('netstat -ano ^| findstr 8080') do set result=%a
C:\Users\heirr>set result=3148
C:\Users\heirr>set result=3148
C:\Users\heirr>echo %result%
3148
반응형
batch 파일 내용(test.bat)
//batch 파일을 관리자로 실행하기 위해 넣었음
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)
cd ../
for /f "tokens=5 delims= " %%a IN ('netstat -ano ^| findstr 8080') do set result=%%a
//result 변수를 taskkill 명령어에 사용
taskkill /f /pid %result%
//batch 파일로 실행한 cmd가 자동종료되지 않게 하기 위함
cmd /k
<select id="selectByCareerYear" resultType="HashMap">
select user_career_year || '년'
,count(user_career_year) || '명'
from(select
trunc(months_between(sysdate,user_comp_enter)/12) user_career_year
from user_info)
where not user_career_year is NULL
group by user_career_year
order by user_career_year desc
</select>
keySet() 으로 확인해보니 key는 [COUNT(USER_CAREER_YEAR)||'명', USER_CAREER_YEAR||'년'] 이고
values() 로 확인해보니 values는 [1명,9년]
이렇게 뜨는데...
그럼 쿼리문에서 이름을 바꾸자..
as로 alias를 명명했다
<select id="selectByCareerYear" resultType="HashMap">
select user_career_year || '년' as year
,count(user_career_year) || '명' as count
from(select
trunc(months_between(sysdate,user_comp_enter)/12) user_career_year
from user_info)
where not user_career_year is NULL
group by user_career_year
order by user_career_year desc
</select>