mysql 문자열 함수
결과의 길이가 max_allowed_packet 시스템 변수의 최대값보다 큰 경우 문자열 값 함수의 반환 값은 NULL입니다.
문자열 위치에서 작동하는 함수의 경우 첫 번째 위치는 1로 지정됩니다.
ASCII(str)
반환 값은 문자열 str의 가장 왼쪽 문자의 숫자 값입니다. str이 빈 문자열인 경우 반환 값은 0입니다. str이 NULL인 경우 반환 값은 NULL입니다. ASCII()는 0부터 255까지의 숫자값을 갖는 문자에 사용됩니다.
mysql> SELECT ASCII('2');
-> 50
mysql> SELECT ASCII(2);
->
mysql> SELECT ASCII('dx');
-> 100
ORD() 함수를 참조하세요.
BIN(N)
N의 이진 값에 대한 문자열 표현을 반환합니다. 여기서 N은 longlong(BIGINT) 숫자입니다. 이는 CONV(N,10,2)와 동일합니다. N이 NULL인 경우 반환 값은 NULL입니다.
mysql> SELECT BIN(12);
-> '1100'
BIT_LENGTH(str)
반환 값은 이진 문자열 str입니다. 길이.
mysql> SELECT BIT_LENGTH('text');
-> 32
CHAR(N,... [문자 집합 사용])
CHAR()는 각 인수 N을 정수로 해석하고 이러한 정수의 코드 값으로 주어진 문자를 포함하는 문자열을 반환합니다. NULL 값은 생략됩니다.
mysql> SELECT CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql>77.3') 🎜>-> 'MMM'
255보다 큰 CHAR() 매개변수는 여러 결과 문자로 변환됩니다. 예를 들어 CHAR(256)은 CHAR(1,0)과 동일하고 CHAR(256*256)은 CHAR(1,0,0)과 동일합니다.
mysql> ,0 )), HEX(CHAR(256));
+---+--------------- ----- -+
| HEX(CHAR(1,0)) |
+---------- ----- +----------------+
| 0100 |
+--------- ------- ---+---+
mysql> SELECT HEX(CHAR(1,0,0)), HEX( CHAR(256*256)) ;
+------+---------------- ----+
| HEX(CHAR(1,0,0)) | HEX(CHAR(256*256)) |
+--------- ------- -+---------+
|010000 |
+- ------- ----------+---------+
반환 값 CHAR()은 이진 문자열입니다. 선택적으로 USING 문을 사용하여 지정된 문자 집합으로 문자열을 생성할 수 있습니다.
USING이 생성되고 결과 문자열이 지정된 문자 집합을 따르지 않으면 경고가 발생합니다. 마찬가지로 엄격한 SQL 모드가 활성화되면 CHAR()의 결과는 NULL이 됩니다.mysql> SELECT CHARSET(CHAR(0x65)), CHARSET(CHAR(0x65 USING utf8)); +---------------------+--------------------------------+ | CHARSET(CHAR(0x65)) | CHARSET(CHAR(0x65 USING utf8)) | +---------------------+--------------------------------+ | binary | utf8 | +---------------------+--------------------------------+
CHAR_LENGTH(str)
반환값은 문자열 str의 길이이며, 길이 단위는 문자입니다. 멀티바이트 문자는 단일 문자로 간주됩니다. 5개의 2바이트 문자 집합에 대해 LENGTH()는 10을 반환하고 CHAR_LENGTH()는 5를 반환합니다.
CHARACTER_LENGTH(str)
CHARACTER_LENGTH()는 CHAR_LENGTH()의 동의어입니다.
COMPRESS(string_to_compress)
문자열을 압축합니다. 이 기능을 사용하려면 zlib와 같은 압축 라이브러리를 사용하여 MySQL을 압축해야 합니다. 그렇지 않으면 반환 값은 항상 NULL입니다. UNCOMPRESS()는 압축된 문자열의 압축을 풀 수 있습니다.
mysql> SELECT LENGTH(COMPRESS('a',1000)));
-> 21
mysql> );
-> 0
mysql> SELECT LENGTH(COMPRESS('a'));
-> LENGTH(COMPRESS(REPEAT('a',16)));
-> 15
압축된 문자열의 내용은 다음과 같은 방식으로 저장됩니다.
빈 문자열은 빈 문자열로 저장됩니다.
비어 있지 않은 문자열 4바이트 길이의 압축되지 않은 문자열이 저장되고(낮은 바이트부터 먼저) 압축된 문자열이 저장됩니다. 문자열이 공백으로 끝나면 결과 값이 CHAR 또는 VARCHAR 유형의 필드 열에 저장될 때 후행 공백이 자동으로 제거되는 것을 방지하기 위해 끝에 "."이 추가됩니다. (압축된 문자열을 저장하기 위해 CHAR 또는 VARCHAR를 사용하는 것은 권장되지 않습니다. 대신 BLOB 열을 사용하는 것이 좋습니다).
CONCAT(str1,str2,...)
반환 결과는 연결 매개변수에 의해 생성된 문자열입니다. 매개변수가 NULL인 경우 반환 값은 NULL입니다. 하나 이상의 매개변수가 있을 수 있습니다. 모든 인수가 이진이 아닌 문자열인 경우 결과는 이진이 아닌 문자열입니다. 인수에 이진 문자열이 포함되어 있으면 결과는 이진 문자열입니다. 숫자 인수는 동등한 이진 문자열 형식으로 변환됩니다. 이를 방지하려면 명시적인 유형 캐스트를 사용하십시오. 예: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql> ; ', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> CONCAT(14.3);
-> '14.3'
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS()는 구분 기호가 있는 CONCAT을 나타냅니다. CONCAT()의 특수한 형식입니다. 첫 번째 매개변수는 다른 매개변수의 구분 기호입니다. 구분 기호의 위치는 연결할 두 문자열 사이에 배치됩니다. 구분 기호는 문자열이나 기타 매개변수일 수 있습니다. 구분 기호가 NULL이면 결과는 NULL입니다. 이 함수는 구분 기호 인수 뒤의 NULL 값을 무시합니다.
mysql> SELECT CONCAT_WS(',','이름','두번째 이름','성');
->
mysql> SELECT CONCAT_WS(',','이름',NULL,'성');
-> '이름,성'
CONCAT_WS()는 빈 문자열을 무시하지 않습니다. (단, NULL은 모두 무시됩니다.)
CONV(N,from_base,to_base)
다른 진수 간에 숫자를 변환합니다. 반환 값은 from_base 기준에서 to_base 기준으로 변환된 숫자의 N 문자열 표현입니다. 매개변수가 NULL인 경우 반환 값은 NULL입니다. 인수 N은 정수로 이해되지만 정수 또는 문자열로 지정될 수 있습니다. 최소 기본은 2이고 최대는 36입니다. to_base가 음수인 경우 N은 부호 있는 숫자로 처리됩니다. 그렇지 않으면 N은 부호 없는 숫자로 처리됩니다. CONV()는 64비트 정밀도로 작동합니다.
mysql> SELECT CONV('a',16,2);
-> '1010'
mysql> );
-> '172'
mysql> SELECT CONV(-17,10,-18);
->
mysql> SELECT CONV(10+'10'+'10'+0xa,10,10);-> '40'ELT(N,str1,str2 ,str3,...)N = 1이면 반환 값은 str1이고, N = 2이면 반환 값은 str2입니다. N이 1보다 작거나 매개변수 개수보다 큰 경우 반환 값은 NULL입니다. ELT()는 FIELD()의 보완입니다. mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');-> 'ej'mysql> SELECT ELT(4, 'ej', 'Heja', 'hej', 'foo');-> 'foo'EXPORT_SET(bits,on,off[,separator [,number_of_bits]])반환 값은 문자열입니다. 여기서 비트 값의 각 비트 그룹에 대해 on 문자열을 얻을 수 있고, 지워진 각 비트에 대해 off 문자열을 얻을 수 있습니다. 비트 단위의 비트 값은 오른쪽에서 왼쪽으로(하위 비트부터 상위 비트까지) 확인됩니다. 구분 기호 문자열(기본 쉼표 ',')로 구분된 문자열은 왼쪽에서 오른쪽 순서로 결과에 추가됩니다. number_of_bits는 테스트되는 비트 수를 제공합니다(기본값은 64). mysql> SELECT EXPORT_SET(5,'Y','N',',',4);-> 'Y,N,Y,N'mysql> SELECT EXPORT_SET(6,'1','0',',',10);-> 0,0'FIELD(str,str1,str2,str3,...)반환 값은 str1, str2, str3,... 목록의 str 인덱스입니다. str을 찾을 수 없으면 반환 값은 0입니다. FIELD()의 모든 매개변수가 문자열인 경우 모든 매개변수는 문자열로 비교됩니다. 모든 인수가 숫자인 경우 비교는 숫자로 수행됩니다. 그렇지 않으면 매개변수가 두 배로 비교됩니다. str이 NULL인 경우 NULL은 어떤 값과도 동일하게 비교할 수 없으므로 반환 값은 0입니다. FIELD()는 ELT()의 보완입니다. mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');-> 🎜>mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');-> 0FIND_IN_SET( str,strlist)문자열 str이 N개의 서브체인으로 구성된 문자열 목록 strlist에 있는 경우 반환 값의 범위는 1에서 N까지입니다. 문자열 목록은 ',' 문자로 구분된 문자열 체인입니다. 첫 번째 인수가 상수 문자열이고 두 번째 인수가 SET 유형의 열인 경우 FIND_IN_SET() 함수는 비트 계산을 사용하도록 최적화됩니다. str이 strlist에 없거나 strlist가 빈 문자열인 경우 반환 값은 0입니다. 매개변수가 NULL인 경우 반환 값은 NULL입니다. 첫 번째 인수에 쉼표(',')가 포함되어 있으면 이 함수가 제대로 작동하지 않습니다. mysql> SELECT FIND_IN_SET('b','a,b,c,d');-> 2FORMAT(X,D)번호 설정
HEX(N_or_S)
N_OR_S가 숫자인 경우 16진수 값 N의 문자열 표현을 반환합니다. 여기서 N은 longlong(BIGINT) 숫자입니다. 이는 CONV(N,10,16)과 동일합니다.
N_OR_S가 문자열인 경우 반환 값은 N_OR_S의 16진수 문자열 표현입니다. 여기서 각 N_OR_S의 각 문자는 두 개의 16진수 숫자로 변환됩니다.
mysql> SELECT HEX(255);
-> 'FF'
mysql> SELECT 0x616263;
-> 🎜>
mysql> SELECT HEX('abc');-> 616263INSERT(str,pos,len,newstr)문자열 반환 , 해당 부분 문자열은 pos 위치에서 시작하고 문자열 newstr의 len 문자로 대체됩니다. pos가 문자열 길이를 초과하는 경우 반환 값은 원래 문자열입니다. len의 길이가 다른 문자열의 길이보다 길면 pos 위치부터 교체가 시작됩니다. 매개 변수가 null인 경우 반환 값은 NULL입니다. mysql> SELECT INSERT('2차', 3, 4, '무엇');-> 'QuWhattic'mysql> , -1, 4, '무엇');-> '2차'mysql> SELECT INSERT('2차', 3, 100, '무엇');-> 'QuWhat'이 기능은 멀티바이트 문자를 지원합니다. INSTR(str,substr)문자열 str에서 부분 문자열이 처음 나타나는 위치를 반환합니다. 이는 인수 순서가 반대라는 점을 제외하면 LOCATE()의 두 인수 형식과 동일합니다. mysql> SELECT INSTR('foobarbar', 'bar');-> 4mysql> SELECT INSTR('xbar', 'foobar'); -> 0이 함수는 멀티바이트 문자를 지원하며 하나 이상의 인수가 이진 문자열인 경우에만 대소문자를 구분합니다. LCASE(str)LCASE()는 LOWER()의 동의어입니다. LEFT(str,len)문자열 str에서 시작하여 len의 가장 왼쪽 문자를 반환합니다. mysql> SELECT LEFT('foobarbar', 5);-> 'fooba'LENGTH(str) 문자 문자열 str의 길이(바이트)입니다. 멀티바이트 문자는 멀티바이트로 간주됩니다. 즉, 5개의 2바이트 문자가 포함된 문자열의 경우 LENGTH()는 10을 반환하고 CHAR_LENGTH()는 5를 반환합니다. mysql> SELECT LENGTH('text');-> 4LOAD_FILE(file_name)파일을 읽고 이 파일을 넣습니다. 문자열 형식으로. 파일 위치는 서버에 있어야 하며 파일에 전체 경로 이름을 제공해야 하며 FILE 권한이 있어야 합니다. 파일은 읽을 수 있어야 하며 파일 크기는 max_allowed_packet 바이트보다 작아야 합니다. 파일이 존재하지 않거나, 위의 조건을 만족하지 않아 읽을 수 없는 경우 함수 반환값은 NULL입니다. mysql> UPDATE tbl_nameSET blob_column=LOAD_FILE('/tmp/picture')WHERE id=1;LOCATE(substr,str ), LOCATE(substr,str,pos)첫 번째 구문은 문자열 str에서 하위 문자열 substr이 처음 나타나는 위치를 반환합니다. 두 번째 구문은 문자열 str에서 pos에서 시작하여 부분 문자열 substr이 처음 나타나는 위치를 반환합니다. substr이 str에 없으면 반환 값은 0입니다. mysql> SELECT LOCATE('bar', 'foobarbar');-> 4mysql> SELECT LOCATE('xbar', 'foobar'); -> 0mysql> SELECT LOCATE('bar', 'foobarbar',5);-> 멀티바이트 문자는 지원되며 하나 이상의 인수가 이진 문자열인 경우에만 대/소문자를 구분합니다. LOWER(str)최신 문자 집합 매핑 테이블(기본값은 cp1252 Latin1)에 따라 문자열 str과 모든 문자가 소문자로 변경된 값을 반환합니다. mysql> SELECT LOWER('QUADRATICALLY');-> 'quadratically'이 함수는 멀티바이트 문자를 지원합니다. LPAD(str,len,padstr)왼쪽이 padstr 문자열로 len 문자 길이만큼 채워져 문자열 str을 반환합니다. str의 길이가 len보다 길면 반환 값은 len 문자로 단축됩니다. mysql> SELECT LPAD('hi',4,'??');-> '??hi'mysql> ',1,'??');-> 'h'LTRIM(str)앞 공백 문자를 제거한 문자열 str을 반환합니다. mysql> SELECT LTRIM(' barbar');-> 'barbar'이 함수는 멀티바이트 문자를 지원합니다. MAKE_SET(비트,str1,str2,...)
返回一个设定值 (一个包含被‘,’号分开的字字符串的字符串) ,由在bits 组中具有相应的比特的字符串组成。str1 对应比特 0,str2 对应比特1,以此类推。str1, str2, ...中的 NULL值不会被添加到结果中。
mysql> SELECT MAKE_SET(1,'a','b','c');
-> 'a'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice','world');
-> 'hello,world'
mysql> SELECT MAKE_SET(1 | 4,'hello','nice',NULL,'world');
-> 'hello'
mysql> SELECT MAKE_SET(0,'a','b','c');
-> ''
MID(str,pos,len)
MID(str,pos,len) 是 SUBSTRING(str,pos,len)的同义词。
OCT(N)
返回一个 N的八进制值的字符串表示,其中 N 是一个longlong (BIGINT)数。这等同于CONV(N,10,8)。若N 为 NULL ,则返回值为NULL。
mysql> SELECT OCT(12);
-> '14'
OCTET_LENGTH(str)
OCTET_LENGTH() 是 LENGTH()的同义词。
ORD(str)
若字符串str 的最左字符是一个多字节字符,则返回该字符的代码, 代码的计算通过使用以下公式计算其组成字节的数值而得出:
(1st byte code) + (2nd byte code × 256) + (3rd byte code × 2562) ...
假如最左字符不是一个多字节字符,那么 ORD()和函数ASCII()返回相同的值。
mysql> SELECT ORD('2');
-> 50
POSITION(substr IN str)
POSITION(substr IN str)是 LOCATE(substr,str)同义词。
QUOTE(str)
引证一个字符串,由此产生一个在SQL语句中可用作完全转义数据值的结果。 返回的字符串由单引号标注,每例都带有单引号 (‘'’)、 反斜线符号 (‘\’)、 ASCII NUL以及前面有反斜线符号的Control-Z 。如果自变量的值为NULL, 则返回不带单引号的单词 “NULL”。
mysql> SELECT QUOTE('Don\'t!');
-> 'Don\'t!'
mysql> SELECT QUOTE(NULL);
-> NULL
REPEAT(str,count)
返回一个由重复的字符串str 组成的字符串,字符串str的数目等于count 。 若 count <= 0,则返回一个空字符串。若str 或count 为 NULL,则返回 NULL 。
mysql> SELECT REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
REPLACE(str,from_str,to_str)
返回字符串str 以及所有被字符串to_str替代的字符串from_str 。
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
这个函数支持多字节字元。
REVERSE(str)
返回字符串 str ,顺序和字符顺序相反。
mysql> SELECT REVERSE('abc');
-> 'cba'
这个函数支持多字节字元。
RIGHT(str,len)
从字符串str 开始,返回最右len 字符。
mysql> SELECT RIGHT('foobarbar', 4);
-> 'rbar'
这个函数支持多字节字元。
RPAD(str,len,padstr)
返回字符串str, 其右边被字符串 padstr填补至len 字符长度。假如字符串str 的长度大于 len,则返回值被缩短到与 len 字符相同长度。
mysql> SELECT RPAD('hi',5,'?');
-> 'hi???'
mysql> SELECT RPAD('hi',1,'?');
-> 'h'
这个函数支持多字节字元。
RTRIM(str)
返回字符串 str ,结尾空格字符被删去。
mysql> SELECT RTRIM('barbar ');
-> 'barbar'
这个函数支持多字节字元。
SOUNDEX(str)
从str返回一个soundex字符串。 两个具有几乎同样探测的字符串应该具有同样的 soundex 字符串。一个标准的soundex字符串的长度为4个字符,然而SOUNDEX() 函数会返回一个人以长度的字符串。 可使用结果中的SUBSTRING() 来得到一个标准 soundex 字符串。在str中,会忽略所有未按照字母顺序排列的字符。 所有不在A-Z范围之内的国际字母符号被视为元音字母。
mysql> SELECT SOUNDEX('Hello');
-> 'H400'
mysql> SELECT SOUNDEX('Quadratically');
-> 'Q36324'
참고: 이 기능은 D. Knuth의 설명에 따라 널리 사용되는 향상된 버전이 아닌 원래 Soundex 알고리즘을 구현합니다. 차이점은 원본 버전은 모음을 먼저 제거한 다음 반복을 제거하는 반면, 향상된 버전은 반복을 먼저 제거한 다음 모음을 제거한다는 것입니다.
expr1은 expr2와 유사합니다
이는 SOUNDEX(expr1) = SOUNDEX(expr2)와 같습니다.
SPACE(N)
N개의 공백 기호로 구성된 문자열을 반환합니다.
mysql> SELECT SPACE(6);
-> '
SUBSTRING(str,pos) , SUBSTRING(str,pos, len) , SUBSTRING(str FROM pos FOR len)
len 매개변수가 없는 형식은 문자열 str에서 위치 pos에서 시작하는 하위 문자열을 반환합니다. len 매개변수가 있는 형식은 pos 위치에서 시작하여 문자열 str의 len 문자와 동일한 길이의 하위 문자열을 반환합니다. FROM을 사용하는 형식은 표준 SQL 구문입니다. pos에 음수 값을 사용하는 것도 가능합니다. 그렇다면 하위 문자열 위치는 문자열의 시작 부분이 아니라 문자열 끝에 있는 pos 문자에서 시작됩니다. 다음 형식의 함수에서는 pos에 음수 값을 사용할 수 있습니다.
mysql> SELECT SUBSTRING('2차',5);
-> '정확하게'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
mysql> SELECT SUBSTRING('2차',5,6);
-> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);
-> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
-> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
-> 'ki'
이 함수는 여러 단어를 지원합니다. 섹션 문자.
len에 1보다 작은 값을 사용하면 결과는 항상 빈 문자열입니다.
SUBSTR()은 SUBSTRING()의 동의어입니다.
SUBSTRING_INDEX(str,delim,count)
구분 기호 delim 및 count가 나타나기 전에 문자열 str에서 자체 문자열을 반환합니다. count가 양수 값이면 최종 구분 기호 왼쪽(왼쪽부터 시작)에 있는 모든 항목이 반환됩니다. count가 음수이면 구분 기호 오른쪽(오른쪽부터 시작)에 있는 모든 항목이 반환됩니다.
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> ('www.mysql.com', '.', -2);
-> 'mysql.com'
이 함수는 멀티바이트 문자를 지원합니다.
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str)
모든 remstr 접두사 및/또는 접미사가 has인 문자열 str을 반환합니다. 삭제되었습니다. 분류자 BOTH, LEADIN 또는 TRAILING 중 어느 것도 제공되지 않으면 BOTH가 가정됩니다. remstr은 선택 사항이며 지정되지 않은 경우 공백을 제거할 수 있습니다.
mysql> SELECT TRIM(' bar ');
-> 'bar'
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
-> 'barxxx'
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
-> mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
-> 'barx'
이 함수는 멀티바이트 문자를 지원합니다.
UCASE(str)
UCASE()는 UPPER()의 동의어입니다.
UNCOMPRESS(string_to_uncompress)
COMPRESS() 함수로 압축된 문자열을 압축 해제합니다. 인수가 압축된 값인 경우 결과는 NULL입니다. 이 기능을 사용하려면 MySQL이 zlib와 같은 압축 라이브러리로 컴파일되어야 합니다. 그렇지 않으면 반환 값은 항상 NULL이 됩니다.
mysql> SELECT UNCOMPRESS('모든 문자열'));
-> '모든 문자열'
mysql>
-> NULL
UNCOMPRESSED_LENGTH(compressed_string)
압축 전 압축된 문자열의 길이를 반환합니다.
mysql> SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT('a',30)));
-> 30
UNHEX(str)
HEX(str)에서 역연산을 수행합니다. 즉, 매개변수의 각 16진수 쌍을 숫자로 인식하고 해당 숫자가 나타내는 문자로 변환합니다. 결과 문자는 이진 문자열로 반환됩니다.
mysql> SELECT UNHEX('4D7953514C');
-> 'MySQL'
mysql> '문자열'));
-> '문자열'
mysql> SELECT HEX(UNHEX('1267')) ;
-> 🎜>
UPPER(str)문자열 str을 반환하고, 최신 문자 집합 매핑에 따라 대문자로 변환된 문자를 반환합니다(기본값은 cp1252 Latin1).mysql> UPPER('헤이');->이 기능은 멀티바이트 문자를 지원합니다.
1. 문자열 비교 기능
에 따르면 MySQL은 자동으로 숫자를 문자열로 또는 그 반대로 변환합니다.
mysql> SELECT 1+'1';
-> 2
mysql> SELECT CONCAT(2,' test');
- > '2 test'
숫자를 문자열로 명시적으로 변환하려면 CAST() 또는 CONCAT() 함수를 사용할 수 있습니다:
mysql> 38.8 AS SELECT 38.8, CONCAT(38.8);
-> 38.8, '38.8'
CAST()가 바람직합니다. .
이진 문자열이 문자열 함수의 매개변수로 제공된 경우 결과 문자열도 이진 문자열이 됩니다. 문자열로 변환된 숫자는 이진 문자열로 처리됩니다. 이는 비교 결과에만 영향을 미칩니다.
일반적으로 문자열 비교의 표현식이 대소문자를 구분하는 경우 비교에서도 대소문자를 구분합니다.
expr LIKE pat [ESCAPE 'escape-char']
SQL 단순 정규식 비교를 사용하여 패턴 일치. 1(TRUE) 또는 0(FALSE)을 반환합니다. expr 또는 pat가 NULL이면 결과는 NULL입니다.
패턴은 리터럴 문자열일 필요는 없습니다. 예를 들어 문자열 표현식이나 테이블 열로 지정할 수 있습니다.
패턴에서 LIKE와 함께 다음 두 개의 와일드카드를 사용할 수 있습니다.
문자 설명
% 0자를 포함하여 모든 수의 문자와 일치합니다.
_ 하나의 문자만 일치할 수 있습니다.
mysql> SELECT 'David_';
-> SELECT 'David!' D%v%';
-> 1
와일드카드 문자의 리터럴 인스턴스를 테스트하려면 문자 앞에 이스케이프 문자를 배치하세요. ESCAPE 문자를 지정하지 않으면 ' '로 간주됩니다.
문자열 설명
% '%' 문자와 일치
_ '_' 문자와 일치
mysql> SELECT 'David!' ';
-> 0
mysql> SELECT 'David_' LIKE 'David_';
-> 이스케이프 문자를 사용하려면 다음과 같이 ESCAPE 문을 사용할 수 있습니다.
mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|';
-> 의미 시퀀스는 비어 있거나 길이가 한 문자일 수 있습니다. MySQL 5.1.2부터 NO_BACKSLASH_ESCAPES SQL 모드가 활성화되면 시퀀스가 비어 있을 수 없습니다.
다음 두 문은 피연산자 중 하나가 이진 문자열이 아닌 한 문자열 비교에서 대소문자를 구분하지 않음을 보여줍니다.
mysql> SELECT 'abc' LIKE 'ABC';
-> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
-> 0
MySQL에서는 숫자로 LIKE를 사용할 수 있습니다. 표현. (이것은 표준 SQL LIKE의 확장입니다.)
mysql> SELECT 10 LIKE '1%';
-> 1
참고: MySQL은 문자열에 C 이스케이프 구문을 사용하므로(예: 'n' 사용) 개행 문자를 나타냄) LIKE 문자열에서 사용된 ''는 이중으로 작성되어야 합니다. 예를 들어 'n'을 찾으려면 '\n'으로 써야 합니다. ''를 찾으려면 '\\'로 써야 합니다. 그 이유는 백슬래시 기호가 구문 분석기에 의해 한 번 제거되고 패턴 일치를 수행할 때 다시 제거되고 마침내 하나가 되기 때문입니다. 일치를 위해 백슬래시 기호가 허용됩니다.
expr NOT LIKE pat [ESCAPE 'escape-char']
이는 NOT(expr LIKE pat [ESCAPE 'escape-char'])과 동일합니다.
expr NOT REGEXP pat expr NOT RLIKE pat
이것은 NOT(expr REGEXP pat)과 동일합니다.
expr REGEXP pat expr RLIKE pat
문자열 표현식 expr과 패턴 pat의 패턴 매칭을 수행합니다. 패턴은 정규식으로 확장될 수 있습니다. expr이 pat와 일치하면 1을 반환하고, 그렇지 않으면 0을 반환합니다. expr 또는 pat가 NULL이면 결과는 NULL입니다. RLIKE는 REGEXP의 동의어이며 그 기능은 mSQL에 대한 호환성을 제공하는 것입니다.
패턴은 리터럴 문자열일 필요는 없습니다. 예를 들어 문자열 표현식이나 테이블 열로 지정할 수 있습니다.
참고: MySQL은 문자열에서 C 이스케이프 구문을 사용하므로(예를 들어 'n'을 사용하여 개행 문자를 나타냄) REGEXP 문자열에 사용된 ''는 두 배가 되어야 합니다.
REGEXP는 바이너리 문자열과 함께 사용되지 않는 한 대소문자를 구분하지 않습니다.
mysql> SELECT 'Monty!' REGEXP 'm%y%%';
-> 0
mysql> ;
-> 1
mysql> SELECT 'new*n*line' REGEXP 'new\*.\*line';
-> mysql> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
-> 1 0
mysql> SELECT 'a' REGEXP '^[a-d]' ;
-> 1
문자 유형을 결정할 때 REGEXP 및 RLIKE는 현재 문자 집합(기본적으로 cp1252 Latin1)을 사용합니다. 경고: 이 연산자는 멀티바이트 문자를 지원하지 않습니다.
STRCMP(expr1,expr2)
모든 문자열이 동일할 경우 현재 분류 순서에 따라 첫 번째 매개변수가 두 번째 매개변수보다 작으면 - 1. 그 외의 경우에는 1이 반환됩니다.
mysql> SELECT STRCMP('text', 'text2');
-> -1
mysql> SELECT STRCMP('text2', 'text') ;
-> 1
mysql> SELECT STRCMP('text', 'text');
-> 0
, STRCMP()는 현재 문자 집합을 사용합니다. 이렇게 하면 피연산자 중 하나 또는 둘 다 이진 문자열인 경우를 제외하고 기본 비교에서 대/소문자를 구분하게 됩니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











MySQL 데이터베이스에서 사용자와 데이터베이스 간의 관계는 권한과 테이블로 정의됩니다. 사용자는 데이터베이스에 액세스 할 수있는 사용자 이름과 비밀번호가 있습니다. 권한은 보조금 명령을 통해 부여되며 테이블은 Create Table 명령에 의해 생성됩니다. 사용자와 데이터베이스 간의 관계를 설정하려면 데이터베이스를 작성하고 사용자를 생성 한 다음 권한을 부여해야합니다.

MySQL에는 무료 커뮤니티 버전과 유료 엔터프라이즈 버전이 있습니다. 커뮤니티 버전은 무료로 사용 및 수정할 수 있지만 지원은 제한되어 있으며 안정성이 낮은 응용 프로그램에 적합하며 기술 기능이 강합니다. Enterprise Edition은 안정적이고 신뢰할 수있는 고성능 데이터베이스가 필요하고 지원 비용을 기꺼이 지불하는 응용 프로그램에 대한 포괄적 인 상업적 지원을 제공합니다. 버전을 선택할 때 고려 된 요소에는 응용 프로그램 중요도, 예산 책정 및 기술 기술이 포함됩니다. 완벽한 옵션은없고 가장 적합한 옵션 만 있으므로 특정 상황에 따라 신중하게 선택해야합니다.

데이터 통합 단순화 : AmazonRdsMysQL 및 Redshift의 Zero ETL 통합 효율적인 데이터 통합은 데이터 중심 구성의 핵심입니다. 전통적인 ETL (추출, 변환,로드) 프로세스는 특히 데이터베이스 (예 : AmazonRDSMySQL)를 데이터웨어 하우스 (예 : Redshift)와 통합 할 때 복잡하고 시간이 많이 걸립니다. 그러나 AWS는 이러한 상황을 완전히 변경 한 Zero ETL 통합 솔루션을 제공하여 RDSMYSQL에서 Redshift로 데이터 마이그레이션을위한 단순화 된 거의 실시간 솔루션을 제공합니다. 이 기사는 RDSMYSQL ZERL ETL 통합으로 Redshift와 함께 작동하여 데이터 엔지니어 및 개발자에게 제공하는 장점과 장점을 설명합니다.

MySQL 사용자 이름 및 비밀번호를 작성하려면 : 1. 사용자 이름과 비밀번호를 결정합니다. 2. 데이터베이스에 연결; 3. 사용자 이름과 비밀번호를 사용하여 쿼리 및 명령을 실행하십시오.

1. 올바른 색인을 사용하여 스캔 한 데이터의 양을 줄임으로써 데이터 검색 속도를 높이십시오. 테이블 열을 여러 번 찾으면 해당 열에 대한 인덱스를 만듭니다. 귀하 또는 귀하의 앱이 기준에 따라 여러 열에서 데이터가 필요한 경우 복합 인덱스 2를 만듭니다. 2. 선택을 피하십시오 * 필요한 열만 선택하면 모든 원치 않는 열을 선택하면 더 많은 서버 메모리를 선택하면 서버가 높은 부하 또는 주파수 시간으로 서버가 속도가 느려지며, 예를 들어 Creation_at 및 Updated_at 및 Timestamps와 같은 열이 포함되어 있지 않기 때문에 쿼리가 필요하지 않기 때문에 테이블은 선택을 피할 수 없습니다.

MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.

MySQL 데이터베이스 성능 최적화 안내서 리소스 집약적 응용 프로그램에서 MySQL 데이터베이스는 중요한 역할을 수행하며 대규모 트랜잭션 관리를 담당합니다. 그러나 응용 프로그램 규모가 확장됨에 따라 데이터베이스 성능 병목 현상은 종종 제약이됩니다. 이 기사는 일련의 효과적인 MySQL 성능 최적화 전략을 탐색하여 응용 프로그램이 고 부하에서 효율적이고 반응이 유지되도록합니다. 실제 사례를 결합하여 인덱싱, 쿼리 최적화, 데이터베이스 설계 및 캐싱과 같은 심층적 인 주요 기술을 설명합니다. 1. 데이터베이스 아키텍처 설계 및 최적화 된 데이터베이스 아키텍처는 MySQL 성능 최적화의 초석입니다. 몇 가지 핵심 원칙은 다음과 같습니다. 올바른 데이터 유형을 선택하고 요구 사항을 충족하는 가장 작은 데이터 유형을 선택하면 저장 공간을 절약 할 수있을뿐만 아니라 데이터 처리 속도를 향상시킬 수 있습니다.

데이터베이스 산 속성에 대한 자세한 설명 산 속성은 데이터베이스 트랜잭션의 신뢰성과 일관성을 보장하기위한 일련의 규칙입니다. 데이터베이스 시스템이 트랜잭션을 처리하는 방법을 정의하고 시스템 충돌, 전원 중단 또는 여러 사용자의 동시 액세스가 발생할 경우에도 데이터 무결성 및 정확성을 보장합니다. 산 속성 개요 원자력 : 트랜잭션은 불가분의 단위로 간주됩니다. 모든 부분이 실패하고 전체 트랜잭션이 롤백되며 데이터베이스는 변경 사항을 유지하지 않습니다. 예를 들어, 은행 송금이 한 계정에서 공제되지만 다른 계정으로 인상되지 않은 경우 전체 작업이 취소됩니다. BeginTransaction; updateAccountssetBalance = Balance-100WH
