일반적으로 사용되는 MySQL 함수에는 수학 함수, 문자열 함수, 날짜 및 시간 함수, 조건부 판단 함수, 시스템 정보 함수, 암호화 함수, 서식 지정 함수 및 기타 함수가 포함되며 이러한 함수를 통해 사용자 작업을 단순화할 수 있습니다.
일반적으로 사용되는 MySQL 함수는 다음과 같습니다.
1. 수학 함수
(1) ABS(x)
ABS(x)
返回x的绝对值
(2)PI()
返回圆周率π,默认显示6位小数
(3)SQRT(x)
返回非负数的x的二次方根
(4)MOD(x,y)
返回x被y除后的余数
(5)CEIL(x)、CEILING(x)
返回不小于x的最小整数
(6)FLOOR(x)
返回不大于x的最大整数
(7)ROUND(x)、ROUND(x,y)
前者返回最接近于x的整数,即对x进行四舍五入;后者返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位
(8)SIGN(x)
返回参数x的符号,-1表示负数,0表示0,1表示正数
(9)POW(x,y)
和POWER(x,y)
返回x的y次乘方的值
(10)EXP(x)
返回e的x乘方后的值
(11)LOG(x)
返回x的自然对数,x相对于基数e的对数
(12)LOG10(x)
返回x的基数为10的对数
(13)RADIANS(x)
返回x由角度转化为弧度的值
(14)DEGREES(x)
返回x由弧度转化为角度的值
(15)SIN(x)
、ASIN(x)
前者返回x的正弦,其中x为给定的弧度值;后者返回x的反正弦值,x为正弦
(16)COS(x)
、ACOS(x)
前者返回x的余弦,其中x为给定的弧度值;后者返回x的反余弦值,x为余弦
(17)TAN(x)
、ATAN(x)
前者返回x的正切,其中x为给定的弧度值;后者返回x的反正切值,x为正切
(18)COT(x)
返回给定弧度值x的余切
二、字符串函数
(1)CHAR_LENGTH(str)
计算字符串字符个数
(2)CONCAT(s1,s2,...)
返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL
(3)CONCAT_WS(x,s1,s2,...)
返回多个字符串拼接之后的字符串,每个字符串之间有一个x
(4)INSERT(s1,x,len,s2)
返回字符串s1,其子字符串起始于位置x,被字符串s2取代len个字符
(5)LOWER(str)
和LCASE(str)
、UPPER(str)
和UCASE(str)
前两者将str中的字母全部转换成小写,后两者将字符串中的字母全部转换成大写
(6)LEFT(s,n)
、RIGHT(s,n)
前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符
(7)LPAD(s1,len,s2)
、RPAD(s1,len,s2)
前者返回s1,其左边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符;前者返回s1,其右边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符
(8)LTRIM(s)
、RTRIM(s)
前者返回字符串s,其左边所有空格被删除;后者返回字符串s,其右边所有空格被删除
(9)TRIM(s)
返回字符串s删除了两边空格之后的字符串
(10)TRIM(s1 FROM s)
删除字符串s两端所有子字符串s1,未指定s1的情况下则默认删除空格
(11)REPEAT(s,n)
返回一个由重复字符串s组成的字符串,字符串s的数目等于n
(12)SPACE(n)
返回一个由n个空格组成的字符串
(13)REPLACE(s,s1,s2)
返回一个字符串,用字符串s2替代字符串s中所有的字符串s1
(14)STRCMP(s1,s2)
若s1和s2中所有的字符串都相同,则返回0;根据当前分类次序,第一个参数小于第二个则返回-1,其他情况返回1
(15)SUBSTRING(s,n,len)
、MID(s,n,len)
两个函数作用相同,从字符串s中返回一个第n个字符开始、长度为len的字符串
(16)LOCATE(str1,str)
、POSITION(str1 IN str)
、INSTR(str,str1)
三个函数作用相同,返回子字符串str1在字符串str中的开始位置(从第几个字符开始)
(17)REVERSE(s)
PI()
🎜🎜pi를 반환하며, 기본적으로 소수점 이하 6자리가 표시됩니다.🎜🎜(3)SQRT(x)
🎜🎜x의 제곱근을 반환합니다. 음수가 아닌 숫자🎜 🎜(4)MOD(x,y)
🎜🎜x를 y로 나눈 나머지를 반환합니다🎜🎜(5)CEIL(x), CEILING(x )
🎜🎜 x🎜🎜(6)FLOOR(x)
🎜🎜x🎜🎜(7)보다 크지 않은 가장 큰 정수를 반환합니다. ROUND(x), ROUND(x,y )
🎜🎜전자는 x에 가장 가까운 정수를 반환합니다. 즉, x를 반올림하면 후자는 x에 가장 가까운 숫자를 반환하고 그 값은 다음과 같이 유지됩니다. y가 음수이면 소수점 왼쪽 y자리까지 유지됩니다🎜🎜(8)SIGN(x)
🎜🎜returns 매개변수 >POW(x,y) 및 POWER(x,y)
🎜🎜의 부호는 x를 y🎜🎜(10)의 거듭제곱으로 올린 값을 반환합니다.EXP(x)
code>🎜🎜e의 x제곱을 반환합니다🎜🎜(11)LOG(x)
🎜🎜)LOG10(x)
🎜🎜x🎜🎜(13)의 밑이 10인 로그를 반환합니다.RADIANS(x)
🎜🎜각도에서 라디안으로 변환된 x 값을 반환합니다. 🎜🎜(14 )DEGREES(x)
🎜🎜x를 라디안에서 각도로 변환한 값을 반환합니다🎜🎜(15)SIN(x)
, ASIN(x ) code>🎜🎜전자는 x의 사인을 반환합니다. 여기서 x는 주어진 라디안 값입니다. 후자는 x의 아크사인을 반환합니다. 여기서 x는 사인입니다.🎜🎜(16) <code>COS(x)
ACOS(x)
🎜🎜전자는 x의 코사인을 반환합니다. 여기서 x는 주어진 라디안 값입니다. 후자는 x의 역코사인을 반환합니다. 여기서 x는 코사인입니다🎜🎜(17)TAN (x)
, ATAN(x)
🎜🎜 전자는 x의 탄젠트를 반환합니다. 여기서 x는 주어진 라디안 값입니다. 후자는 x의 아크탄젠트를 반환하고, x는 tangent🎜🎜 (18) COT(x)
🎜🎜주어진 라디안 값 코드의 코탄젠트를 반환합니다.>🎜🎜문자열의 문자 수를 계산합니다.🎜🎜(2)CONCAT(s1 ,s2,...)
🎜🎜연결 매개변수에 의해 생성된 문자열, 접합할 하나 이상의 내용을 반환합니다. 하나라도 NULL이면 반환 값은 NULL입니다🎜🎜(3)CONCAT_WS (x,s1,s2,...)
🎜🎜여러 문자열, 각 문자를 연결한 후 문자열을 반환합니다. 문자열 사이에 x🎜🎜(4) len 문자가 있습니다 🎜🎜 (5) LOWER( str)
및 LCASE(str)
, UPPER(str)
및 UCASE(str )
🎜🎜처음 두 개는 모든 문자열을 변환합니다. str의 문자를 소문자로 변환하고, 후자의 두 문자는 문자열의 모든 문자를 대문자🎜🎜(6)LEFT(s,n)
, RIGHT(s,n)
로 변환합니다. >🎜🎜전자는 문자열 s의 가장 왼쪽부터 n자를 반환하고, 후자는 문자열 s의 가장 오른쪽부터 n자를 반환합니다🎜🎜(7) LPAD(s1,len,s2)
, RPAD(s1,len,s2)
🎜🎜전자는 s1을 반환하며, 왼쪽은 len 문자 길이만큼 문자열 s2로 채워집니다. 반환 값은 len 문자로 단축됩니다. 전자는 s1을 반환하고 오른쪽은 문자열 s2로 len 문자 길이로 채워집니다. s1의 길이가 len 문자보다 길면 반환 값이 len 문자로 단축됩니다. (8 ) LTRIM(s)
, RTRIM(s)
🎜🎜전자는 문자열 s를 반환하고 왼쪽의 모든 공백은 삭제된 후 후자는 모두 문자열 s를 반환합니다. 오른쪽 공백 삭제됨🎜🎜(9)TRIM(s)
🎜🎜양쪽 공백이 제거된 문자열 s를 반환합니다🎜🎜(10)TRIM(s1 FROM s) code> 🎜🎜문자열 s의 양쪽 끝에서 모든 하위 문자열 s1을 삭제합니다. s1을 지정하지 않으면 기본적으로 공백이 삭제됩니다.🎜🎜(11) <code>REPEAT(s,n)
🎜🎜반복된 문자열을 반환합니다. string s로 구성된 문자열, 문자열 s의 개수는 n🎜🎜(12)SPACE(n)
🎜🎜n개의 공백으로 구성된 문자열을 반환합니다🎜🎜(13)REPLACE (s,s1,s2)
🎜🎜문자열을 반환하고 문자열 s의 모든 문자열 s1을 문자열 s2🎜🎜(14)STRCMP(s1,s2)
🎜🎜모두 s1과 s2의 문자열이 동일하면 현재 분류 순서에 따라 0이 반환됩니다. 첫 번째 매개변수가 두 번째 매개변수보다 작으면 -1이 반환되고, 그렇지 않으면 1이 반환됩니다🎜🎜(15)SUBSTRING( s ,n,len)
, MID(s,n,len)
🎜🎜두 함수는 동일한 효과를 가지며 n번째 문자부터 시작하여 길이가 len인 문자를 반환합니다. 문자열 s에서 문자열 🎜🎜 (16) LOCATE(str1,str)
, POSITION(str1 IN str)
, INSTR(str,str1) code>🎜 🎜세 가지 함수는 동일한 효과를 가지며, 문자열 str에서 하위 문자열 str1의 시작 위치를 반환합니다(어느 문자부터 시작하는지)🎜🎜 (17) <code>REVERSE(s)
🎜문자열 s를 반전시키세요
(18) ELT(N,str1,str2,str3,str4,...)
ELT(N,str1,str2,str3,str4,...)
返回第N个字符串
三、日期和时间函数
(1)CURDATE()
、CURRENT_DATE()
将当前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定
(2)CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE()
这四个函数作用相同,返回当前日期和时间值,格式为"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具体格式根据函数用在字符串或数字语境中而定
(3)UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date)
前者返回一个格林尼治标准时间1970-01-01 00:00:00到现在的秒数,后者返回一个格林尼治标准时间1970-01-01 00:00:00到指定时间的秒数
(4)FROM_UNIXTIME(date)
和UNIX_TIMESTAMP互为反函数,把UNIX时间戳转换为普通格式的时间
(5)UTC_DATE()
和UTC_TIME()
前者返回当前UTC(世界标准时间)日期值,其格式为"YYYY-MM-DD"或"YYYYMMDD",后者返回当前UTC时间值,其格式为"YYYY-MM-DD"或"YYYYMMDD"。具体使用哪种取决于函数用在字符串还是数字语境中
(6)MONTH(date)、MONTHNAME(date)
前者返回指定日期中的月份,后者返回指定日期中的月份的名称
(7)DAYNAME(d)、DAYOFWEEK(d)、WEEKDAY(d)
DAYNAME(d)返回d对应的工作日的英文名称,如Sunday、Monday等;DAYOFWEEK(d)返回的对应一周中的索引,1表示周日、2表示周一;WEEKDAY(d)表示d对应的工作日索引,0表示周一,1表示周二
(8)WEEK(d)、WEEKOFYEAD(d)
前者计算日期d是一年中的第几周,后者计算某一天位于一年中的第几周
(9)DAYOFYEAR(d)、DAYOFMONTH(d)
前者返回d是一年中的第几天,后者返回d是一月中的第几天
(10)YEAR(date)、QUARTER(date)、MINUTE(time)、SECOND(time)
YEAR(date)返回指定日期对应的年份,范围是1970~2069;QUARTER(date)返回date对应一年中的季度,范围是1~4;MINUTE(time)返回time对应的分钟数,范围是0~59;SECOND(time)返回制定时间的秒值
(11)EXTRACE(type FROM date)
从日期中提取一部分,type可以是YEAR、YEAR_MONTH、DAY_HOUR、DAY_MICROSECOND、DAY_MINUTE、DAY_SECOND
(12)TIME_TO_SEC(time)
返回以转换为秒的time参数,转换公式为"3600*小时 + 60*分钟 + 秒"
(13)SEC_TO_TIME()
和TIME_TO_SEC(time)互为反函数,将秒值转换为时间格式
(14)DATE_ADD(date,INTERVAL expr type)、ADD_DATE(date,INTERVAL expr type)
返回将起始时间加上expr type之后的时间,比如DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND)表示的就是把第一个时间加1秒
(15)DATE_SUB(date,INTERVAL expr type)、SUBDATE(date,INTERVAL expr type)
返回将起始时间减去expr type之后的时间
(16)ADDTIME(date,expr)、SUBTIME(date,expr)
前者进行date的时间加操作,后者进行date的时间减操作
四、条件判断函数
(1)IF(expr,v1,v2)
如果expr是TRUE则返回v1,否则返回v2
(2)IFNULL(v1,v2)
如果v1不为NULL,则返回v1,否则返回v2
(3)CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END
如果expr等于某个vn,则返回对应位置THEN后面的结果,如果与所有值都不想等,则返回ELSE后面的rn
五、系统信息函数
(1)VERSION()
查看MySQL版本号
(2)CONNECTION_ID()
查看当前用户的连接数
(3)USER()、CURRENT_USER()、SYSTEM_USER()、SESSION_USER()
查看当前被MySQL服务器验证的用户名和主机的组合,一般这几个函数的返回值是相同的
(4)CHARSET(str)
查看字符串str使用的字符集
(5)COLLATION()
查看字符串排列方式
六、加密函数
(1)PASSWORD(str)
从原明文密码str计算并返回加密后的字符串密码,注意这个函数的加密是单向的(不可逆),因此不应将它应用在个人的应用程序中而应该只在MySQL服务器的鉴定系统中使用
(2)MD5(str)
CURDATE()
, CURRENT_DATE()
🎜🎜"YYYY-MM-DD" 또는 값에 따라 현재 날짜를 변환합니다. "YYYYMMDD" 형식으로 반환되며, 구체적인 형식은 함수가 문자열 또는 숫자 컨텍스트에서 사용되는지 여부에 따라 다릅니다🎜🎜 (2) CURRENT_TIMESTAMP(), LOCALTIME(), NOW(), SYSDATE() code >🎜🎜이 네 가지 함수는 동일한 함수를 가지며, "YYYY_MM-DD HH:MM:SS" 또는 "YYYYMMDDHHMMSS" 형식으로 현재 날짜 및 시간 값을 반환합니다. 구체적인 형식은 함수가 사용되는지 여부에 따라 다릅니다. 문자열 또는 숫자 컨텍스트🎜 🎜(3)<code>UNIX_TIMESTAMP(), UNIX_TIMESTAMP(날짜)
🎜🎜전자는 GMT 1970-01-01 00:00:00부터 현재까지의 초 수를 반환하고, 후자는 GMT를 반환합니다. 1970-01-01 00:00:00부터 지정된 시간까지의 초 수 🎜🎜 (4) FROM_UNIXTIME(date)
🎜🎜과 UNIX_TIMESTAMP는 서로 역함수입니다. , UNIX 타임스탬프를 일반 형식 Time🎜🎜으로 변환합니다. (5) UTC_DATE()
및 UTC_TIME()
🎜🎜전자는 현재 UTC(세계 표준시) 날짜 값을 반환합니다. 형식이 "YYYY-MM-DD" 또는 "YYYYMMDD"인 경우 후자는 "YYYY-MM-DD" 또는 "YYYYMMDD" 형식으로 현재 UTC 시간 값을 반환합니다. 어느 것을 사용할지는 함수가 문자열 또는 숫자 컨텍스트에서 사용되는지에 따라 다릅니다🎜🎜 (6) MONTH(date), MONTHNAME(date)
🎜🎜전자는 지정된 날짜의 월을 반환합니다. , 후자는 지정된 날짜의 월 이름을 반환합니다.🎜🎜(7)DAYNAME(d), DAYOFWEEK(d), WEEKDAY(d)
🎜🎜DAYNAME(d)는 영어 이름을 반환합니다. 일요일, 월요일 등과 같이 d에 해당하는 근무일의 DAYOFWEEK(d)는 주에 해당하는 인덱스를 반환하고, 1은 일요일을 나타내고, 2는 월요일을 나타냅니다. 0은 월요일, 1은 화요일을 나타냅니다🎜🎜(8) WEEK(d), WEEKOFYEAD(d)
🎜🎜 전자는 날짜 d가 1년 중 몇 주인지 계산하고, 후자는 일이 위치한 1년의 주 수🎜🎜(9)DAYOFYEAR(d), DAYOFMONTH(d)🎜🎜전자는 d가 해당 연도의 날짜를 반환하고, 후자는 반환합니다. d가 🎜🎜(10)YEAR(날짜), QUARTER(날짜), MINUTE(시간), SECOND(시간)
🎜🎜YEAR(날짜)인 달의 일자는 다음에 해당하는 연도를 반환합니다. 지정된 날짜, 범위는 1970~2069입니다. QUARTER(날짜)는 날짜에 해당하는 연도를 반환합니다. 의 분기, 범위는 1~4입니다. MINUTE(시간)은 시간에 해당하는 분 수를 반환하며 범위는 0~입니다. 59 SECOND(시간)은 지정된 시간의 초 값을 반환합니다🎜🎜(11)EXTRACE(유형 FROM 날짜 )
🎜🎜날짜의 일부를 추출합니다. 유형은 YEAR, YEAR_MONTH, DAY_HOUR, DAY_MICROSECOND일 수 있습니다. , DAY_MINUTE, DAY_SECOND🎜🎜(12) TIME_TO_SEC(time)
🎜🎜초로 변환하려면 Return 시간 매개변수, 변환 공식은 "3600*시간 + 60*분 + 초"🎜🎜(13 )SEC_TO_TIME()
🎜🎜과 TIME_TO_SEC(time)은 서로 역함수이므로 두 번째 값을 시간 형식으로 변환합니다. 🎜🎜 (14) DATE_ADD(date,INTERVAL expr type), ADD_DATE (date,INTERVAL expr type)
🎜🎜expr 유형에 시작 시간을 추가한 후 시간을 반환합니다. 예를 들어 DATE_ADD(' 2010-12-31 23:59:59', INTERVAL 1 SECOND)는 1초를 추가한다는 의미입니다. 처음으로 🎜🎜 (15) DATE_SUB(date,INTERVAL expr type), SUBDATE(date,INTERVAL expr type)
🎜🎜시작 시간에서 expr 유형을 뺀 시간을 반환🎜🎜(16 )ADDTIME(date,expr),SUBTIME(date,expr)
🎜🎜전자는 날짜의 시간 더하기 연산을 수행하고, 후자는 날짜의 시간 빼기 연산을 수행합니다. 🎜🎜 🎜🎜넷. 조건부 판단 함수🎜🎜 (1) IF(expr,v1,v2)
🎜 🎜expr이 TRUE이면 v1을 반환하고, 그렇지 않으면 v2를 반환🎜🎜(2) IFNULL( v1,v2)
🎜🎜v1이 NULL이 아니면 v1을 반환하고, 그렇지 않으면 v2🎜🎜(3)을 반환합니다. CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END
🎜🎜expr이 특정 vn과 같으면 해당 위치 이후에 결과를 반환합니다. THEN. 모든 값을 기다리지 않으려면 ELSE🎜🎜🎜🎜뒤에 rn을 반환합니다.5. 🎜🎜(1)VERSION()
🎜🎜MySQL 버전 번호 보기🎜🎜(2)CONNECTION_ID()
🎜🎜MySQL 버전 번호 보기🎜🎜 현재 사용자🎜🎜(3)USER(), CURRENT_USER(), SYSTEM_USER(), SESSION_USER()
🎜🎜현재 MySQL 서버 보기 확인된 사용자 이름과 호스트의 조합 일반적으로 반환 값입니다. 이러한 함수는 동일합니다🎜🎜(4) CHARSET(str)
🎜🎜문자열 str🎜🎜(5) COLLATION()
🎜에서 사용하는 문자 집합 보기 🎜문자열 배열 보기🎜🎜 🎜🎜6. 암호화 기능🎜🎜 (1) PASSWORD(str)
🎜🎜 원래의 일반 텍스트 비밀번호에서 암호화된 문자열 비밀번호를 계산하여 반환합니다. str. 이 함수의 암호화는 단방향(되돌릴 수 없음)이므로 개인 응용 프로그램에서는 사용하지 말고 MySQL 서버의 인증 시스템에서만 사용해야 합니다. 🎜🎜(2)MD5(str)
🎜🎜 문자열에 대한 MD5 128비트 체크섬을 계산하고 값을 32자리 16진수로 구성된 이진 문자열로 반환합니다🎜(3)ENCODE(str, pswd_str)
ENCODE(str, pswd_str)
使用pswd_str作为密码,加密str
(4)DECODE(crypt_str,pswd_str)
使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由ENCODE函数返回的字符串
七、其他函数
(1)FORMAT(x,n)
将数字x格式化,并以四舍五入的方式保留小数点后n位,结果以字符串形式返回
(2)CONV(N,from_base,to_base)
不同进制数之间的转换,返回值为数值N的字符串表示,由from_base进制转换为to_base进制
(3)INET_ATON(expr)
给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数,地址可以使4或8比特
(4)INET_NTOA(expr)
给定一个数字网络地址(4或8比特),返回作为字符串的该地址的点地址表示
(5)BENCHMARK(count,expr)
重复执行count次表达式expr,它可以用于计算MySQL处理表达式的速度,结果值通常是0(0只是表示很快,并不是没有速度)。另一个作用是用它在MySQL客户端内部报告语句执行的时间
(6)CONVERT(str USING charset)
DECODE(crypt_str, pswd_str)
7. 기타 함수🎜🎜 (1)pswd_str을 비밀번호로 사용 , 암호화된 문자열 crypt_str을 해독합니다. crypt_str은 ENCODE 함수
FORMAT(x,n)
🎜에서 반환된 문자열입니다. 🎜숫자 변환 형식을 지정합니다. 반환 값은 from_base 기준에서 to_base 기준으로 변환된 값 N의 문자열 표현입니다. 🎜🎜(3) INET_ATON(expr)
🎜🎜네트워크를 문자열로 제공합니다. 주소의 도트 주소 표현으로, 주소 값을 나타내는 정수를 반환합니다. 주소는 4비트 또는 8비트일 수 있습니다.🎜🎜(4) INET_NTOA(expr)
🎜🎜숫자 네트워크 주소(4)가 제공됩니다. 또는 8비트), 주소의 포인트 주소 표현을 문자열로 반환합니다. 🎜🎜 (5) BENCHMARK(count,expr)
🎜🎜 식을 계산하는 데 사용할 수 있는 expr count 횟수를 반복합니다. MySQL 처리 표현 공식의 속도, 결과 값은 일반적으로 0입니다(0은 속도가 없다는 의미가 아니라 매우 빠르다는 의미입니다). 또 다른 기능은 이를 사용하여 MySQL 클라이언트 내부의 명령문 실행 시간을 보고하는 것입니다🎜🎜(6) CONVERT(str USING charset)
🎜🎜문자 세트 charset을 사용하여 문자열 str을 나타냅니다🎜🎜🎜관련 학습 권장사항: 🎜mysql 비디오 튜토리얼🎜🎜🎜위 내용은 일반적으로 사용되는 MySQL 함수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!