티스토리 뷰
회사에서 사용하는 조립라인의 날짜관련 조회 화면을 만드는데, 값이 '0000-00-00'으로 일괄적으로 자장되면 다루기가 쉬운데, 어떤 것은 초기 상태의 'null'값으로 되어 있어 골치가 아팠습니다.
그래서 sql 구문이 이상하게 길어지는 현상이 있었습니다.
$common=" where (deadline IS NULL or date(deadline)='0000-00-00' or date(deadline)>=date(now())) and ((( mainassembly_date IS NULL or date(mainassembly_date)='0000-00-00' ) and bon_su>0 ) or (lcassembly_date IS NULL and lc_su>0 and (type!='011' and type!='012' and type!='013D' and type!='025' and type!='017' and type!='014'))) order by deadline asc, num desc ";
$sql = "select * from mirae8440.ceiling " . $common;
$sqlcon = "select * from mirae8440.ceiling " . $common;
뭐, 요런식으로 너무 길어지는 mysql 구문...
고민끝에 전부 '0000-00-00'형식으로 저장해서 그것에 관련된 내용으로 조작히면 구문이 짧아질 수 있습니다.
수정해서 이렇게 바뀐 것이지요.
if($cursort==8) // 미제작List 선택시
{
$common=" where (date(deadline)>=date(now())) and ((mainassembly_date='0000-00-00' and bon_su>0 ) or (lcassembly_date ='0000-00-00' and lc_su>0 and (type!='011' and type!='012' and type!='013D' and type!='025' and type!='017' and type!='014'))) order by deadline asc, num desc ";
$sql = "select * from mirae8440.ceiling " . $common;
$sqlcon = "select * from mirae8440.ceiling " . $common;
}
전체를 수정하는 sql 구문입니다.
UPDATE mirae8440.ceiling SET mainassembly_date = '0000-00-00' WHERE mainassembly_date IS NULL;
SELECT mainassembly_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET lcassembly_date = '0000-00-00' WHERE lcassembly_date IS NULL;
SELECT lcassembly_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET etcassembly_date = '0000-00-00' WHERE etcassembly_date IS NULL;
UPDATE mirae8440.ceiling SET etcbending_date = '0000-00-00' WHERE etcbending_date IS NULL;
UPDATE mirae8440.ceiling SET etcwelding_date = '0000-00-00' WHERE etcwelding_date IS NULL;
UPDATE mirae8440.ceiling SET etcpainting_date = '0000-00-00' WHERE etcpainting_date IS NULL;
UPDATE mirae8440.ceiling SET etclaser_date = '0000-00-00' WHERE etclaser_date IS NULL;
UPDATE mirae8440.ceiling SET mainpainting_date = '0000-00-00' WHERE mainpainting_date IS NULL;
SELECT mainpainting_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET lcpainting_date = '0000-00-00' WHERE lcpainting_date IS NULL;
SELECT lcpainting_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET mainwelding_date = '0000-00-00' WHERE mainwelding_date IS NULL;
SELECT mainwelding_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET lcwelding_date = '0000-00-00' WHERE lcwelding_date IS NULL;
SELECT lcwelding_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET mainbending_date = '0000-00-00' WHERE mainbending_date IS NULL;
SELECT mainbending_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET lcbending_date = '0000-00-00' WHERE lcbending_date IS NULL;
SELECT lcbending_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET eunsung_laser_date = '0000-00-00' WHERE eunsung_laser_date IS NULL;
SELECT mainlaser_date FROM `ceiling` order by num desc;
UPDATE mirae8440.ceiling SET lclaser_date = '0000-00-00' WHERE lclaser_date IS NULL;
SELECT lclaser_date FROM `ceiling` order by num desc;
해결되니 참 좋습니다.^^
'IT tech Coding > mysql' 카테고리의 다른 글
[mysql] 테이블 복사 후 auto_incrememt 그대로 유지하는 방법 (3) | 2021.11.27 |
---|---|
[mysql] 필드값을 조건식을 넣어서 일괄변경하기 (0) | 2021.04.13 |
mysql 필드 검색시 null 값을 찾는 방법 (0) | 2021.02.14 |
mysql 필드추가시 형태를 넣어서 추가하기 (0) | 2019.10.25 |
절곡 벤딩데이터 설계 mysql 간단무식하게 만들어봄. ㅋ (0) | 2019.10.20 |
- Total
- Today
- Yesterday
- #NSIS
- #프로그램설치
- .htaccess수정
- 파이썬코드줄바꿈방법
- 코딩튜토리얼
- General error: 2031
- 스크립트작성기초
- #cx_Freeze
- #파이썬패키징
- 엑셀셀보호
- 엑셀보호
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- #파이썬인스톨러
- 코딩효율성
- td요소중에 1행과 1열은 제외
- 카페24가비아phpinfo수정
- #InstallForge
- 프로그래머생활
- #InnoSetup
- #독립실행파일
- chatGPT3.5파이썬버전
- 오토핫키가이드
- 뫄프로그래밍
- sql문장 날짜계산
- 효율적코딩방법
- 테크에능한여성
- Bootstrap 5
- 엑셀입력보호
- #소프트웨어배포
- 2분후종료오토핫키
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |