일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 오라클
- Date and Time Functions
- String Functions and Date Operators
- String Functions and Operators
- 전자정부표준프레임워크
- String Function and Operators
- Date and Time Function
- 티베로
- Data and Time Functions
- HTTP
- SVN
- 윈도우
- Oracle
- Sring Functions and Operators
- 전자정부 표준프레임워크
- 방화벽
- Tibero
- MySQL
- Today
- Total
목록MySQL (149)
웹이야기
MySQL 산술연산자 쯤? Arithmetic Operators Name Description %, MOD Modulo operator * Multiplication operator + Addition Operator - Minus Operator - Change the sign of the argument / Division operator DIV Integer division 평소에 많이 봐왔던 것들이다. DIV Integer division. Discards from the division result any fractional part to the right of the decimal point. If either operand has a noninteger type, the operands ar..
Flow Control Operators 제어 흐름 함수 ??? Name Description CASE CASE operator IF() If/else construct IFNULL() Null if/else construct NULLIF() Return NULL if expr1 =expr2 1) CASE CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END mysql> SELECT CASE 1 WHEN 1 THEN 'one'..
Assignment Operators 지정 연산자쯤 되겠지? Name Description := Assign a value = Assign a value(as part of a SET statement, or as part of the SET clause in an UPDATE statement) 1) := Assignment operator 흠.. 거의 사용을 안해봐서... 그냥 예제만 mysql> SELECT @var1 :=1 , @var2 ; +-----------+-------+ | @var1 :=1 | @var2 | +-----------+-------+ | 1 | NULL | +-----------+-------+ 1 row in set, 1 warning (0.01 sec) mysql> SE..
Logical Operators 논리연산자쯤 되겠지. Name Description AND, && Logical AND NOT, ! Legates value OR, || Logical OR XOR Logical XOR In SQL, all alogical operators evaluates to TRUE, FALSE, or NULL (UNKNOWN). In MySQL, these are implemented as 1(TRUE), 0(FALSE), and NULL. Most of this is common to different SQL database aserver, although some servers may return any nonzero value for TRUE. MySQL evaluates a..
Comparison Operators Name Description > Greater than operator >= Greater than or equal operator 0 mysql> SELECT '0' =0; --> 1 mysql> SELECT '0.0' =0; --> 1 mysql> SELECT '0.01' =0; --> 0 mysql> SELECT '.01' =0.01; --> 1 mysql> SELECT 'A' ='a'; --> 1 2. NULL-safe equal This operator performs an equality comparison like the = operator, but returns 1 rather than NULL if both operands are NULL. and ..
auto_increment 값을 변경하는 쿼리 mysql> ALTER TABLE tbl_name AUTO_INCREMENT =100; mysql> create table test11 (idx int auto_increment primary key, content text) ; Query OK, 0 rows affected (0.08 sec) mysql> insert into test11 (content) values ('test'); Query OK, 1 row affected (0.00 sec) mysql> alter table test11 auto_increment=100; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings:..
MySQL 에서 테이블의 인덱스를 보기 위한 구문 mysql> SHOW INDEX FROM tbl_name mysql> show index from COMTNSYSTEMCNTC ; +-----------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part |..
MySQL character-set 을 확인하는 방법이다. 한글이 잘 들어가기 위한 조건을 확인한다. 1. 한글이 잘 안들어가는 경우의 캐릭터 셋 mysql> show variables like '%char%'; +--------------------------+----------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------+ | character_set_client | euckr | | character_set_connection | euckr | | character_set_database | latin1 | | chara..
MySQL Regular Expression Syntax 1. ^ Match the beginning of a string mysql> SELECT REGEXP_LIKE('fo\nfo', '^fo$'); -> 0 mysql> SELECT REGEXP_LIKE('fofo', '^fo'); -> 1 2. $ Match the end of a string. mysql> SELECT REGEXP_LIKE('fo\no', '^fo\no$'); -> 1 mysql> SELECT REGEXP_LIKE('fo\no', '^fo$'); -> 0 3. . Match any character (including carriage return and newline, although to match these in the mid..
MySQL 8.0에서는 REGEXP_LIKE(), 그 이전버전에서는 REGEXP()로 이용할 수 있다. mysql>SELECT * FROM COMTCCMMNDETAILCODE WHERE REGEXP_LIKE(CODE, '^b') ; mysql>SELECT * FROM COMTCCMMNDETAILCODE WHERE code REGEXP '^b' ; 위 2개는 동일하다. REGEXP_LIKE(expr, pat[, match_type]) 와 같이 사용할 수 있다. match_type 으로는 c, i, m, n, u 를 사용할 수 있다. c : Case sensitive matching. i : Case-insensitive matching. 따로 명시하지 않으면 i가 기본으로 적용되는 듯하다. m : Mult..
1. _ - single character 2. % - 임의의 character(including zero character) 3. =, 를 사용하지 말고 LIKE, or NOT LIKE 를 사용 예제) mysql>SELECT CODE_ID, CODE, CODE_DC FROM COMTCCMMNDETAILCODE WHERE CODE LIKE '_M%'; - 정확히 6글자인 것만 검색(_를 6번 써준다) mysql>SELECT CODE_ID, CODE, CODE_DC FROM COMTCCMMNDETAILCODE WHERE CODE LIKE '______'; MySQL에서는 정규표현함수를 지원해서 위의 내용으로 되지 않는 것들을 처리할 수 있다.
MySQL에서 NULL에 관한 몇가지 1. NULL means "a missing unknown value" 2. 연산자로 IS NULL, IS NOT NULL을 사용한다. mysql> SELECT 1 IS NULL, 1 IS NOT NULL ; +-----------+---------------+ | 1 IS NULL | 1 IS NOT NULL | +-----------+---------------+ | 0 | 1 | +-----------+---------------+ 1 row in set (0.00 sec) 3. 산술연산자를 사용할 수 없다. =, , 같은 산술연산자를 사용할 수 없다. 산술연산자 arithmetic comparison operator 와의 비교는 항상 NULL 이기 때문에 사용..
1. MySQL 날짜 더하기 DATE_ADD() SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND); SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE); SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR); SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); SELECT DATE_ADD(NOW(), INTERVAL 1 WEEK); SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH); SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR); 아래와 같이 사용도 가능하기 때문에 DATA_SUB() 기능도 할 수 있다. SELECT DATE_ADD(NOW(), INTERVAL -1 SE..
MySQL 년, 월, 일, 요일 구하는 함수 1. 년 YEAR(날짜) 2. 월 MONTH(날짜) 3. 일 DAYOFMONTH(날짜) 4. 요일 DAYOFWEEK(날짜) 5. DAYOFYEAR(날짜) DAYOFYEAR(날짜) mysql>SELECT YEAR(CURDATE()), MONTH(CURDATE()), DAYOFMONTH(CURDATE()), DAYOFWEEK(CURDATE()) ; +-----------------+------------------+-----------------------+----------------------+ | YEAR(CURDATE()) | MONTH(CURDATE()) | DAYOFMONTH(CURDATE()) | DAYOFWEEK(CURDATE()) | +------..
MySQL에서 현재 시간을 구할 때 now() 함수만 사용했었는데.. 다른 함수도 있었다. mysql>SELECT CURDATE(), CURTIME(), NOW() ; +------------+-----------+---------------------+ | CURDATE() | CURTIME() | NOW() | +------------+-----------+---------------------+ | 2020-03-05 | 20:37:49 | 2020-03-05 20:37:49 | +------------+-----------+---------------------+
MySQL 날짜 차이를 구하는 함수 DATEDIFF 도 있는 것 같지만 여기서는 TIMESTAMPDIFF() 만 잠시 살펴본다. 간단하게는 나이를 구하는데 유용해보이고, 날짜간의 차이를 구하는데에도 유용해 보인다. 예제 1) 현재 날짜와 특정일 간 초의 차이(SECOND) mysql>SELECT CURDATE(), TIMESTAMPDIFF(SECOND, '2000-01-01', CURDATE()); 2) 현재 날짜와 특정일 간 분의 차이(MINUTE) mysql>SELECT CURDATE(), TIMESTAMPDIFF(MINUTE, '2000-01-01', CURDATE()); 3) 현재 날짜와 특정일 간의 시간 차이(HOUR) mysql>SELECT CURDATE(), TIMESTAMPDIFF(HOUR..
MySQL 정렬시 대소문자 구분하여 정렬하는 방법 1) 대소문자 구분하지 않고 정렬(case-insensitive) mysql>select * from COMTNMENUINFO order by PROGRM_FILE_NM asc ; 2) 대소문자 구분하여 정렬(case-sensitive) mysql>select * from COMTNMENUINFO order by binary PROGRM_FILE_NM asc ;
Incorrect string value: '\xEC\xA0\x84\xEC\x9E\x90...' for column 'CL_CODE_NM' at row 1 테이블에 insert 구문으로 한글을 넣을려고 하는데 에러가 발생하였다. 여러개의 MySQL을 다시 설치해가며 좀 살펴보게 되었는데. 윈도우용 MySQL - MySQL8.0.18, MySQL5.7.28 - installer 버전, noinstaller(zip archive) 버전 모두 동일하게 위 에러가 나온다. 웹 플랫폼 관리자를 이용해서 설치한 MySQL - MySQL5.5.45 은 에러가 발생하지 않는다. 리눅스 소스 컴파일 MySQL - MySQL8.0.18, MySQL5.7.28 은 에러가 발생하지 않는다. 위 버전들을 설치해서 테스트를 진행..
MySQL 데이타베이스 생성 및 사용 1. DB 전체 목록 mysql>SHOW DATABASES; 2. DB 사용, DB에 ACCESS - USE 디비명 mysql>USE testDB; 3. DB를 사용할 수 있도록 사용자에게 권한 부여 - 디비를 생성하였으면 이용이 가능하도록 사용자에게 권한을 부여해야 한다. mysql>GRANT ALL ON 디비명.* TO 'test'@'localhost' with grant option; 또는 mysql>GRANT ALL PRIVILEGES ON 디비명.* TO 'test'@'localhost' with grant option; 4. DB 생성 mysql>CREATE DATABASE testDB; 5. DB 삭제 mysql>DROP DATABASE testDB; 6..