MySQL內置的各種單行函數


精選專欄鏈接 🔗


  • MySQL技術筆記專欄
  • Redis技術筆記專欄
  • 大模型搭建專欄
  • Python學習筆記專欄
  • 深度學習算法專欄

歡迎訂閱,點贊+關注,每日精進1%,與百萬開發者共攀技術珠峰

更多內容持續更新中!希望能給大家帶來幫助~ 😀😀😀


MySQL中內置的各種單行函數

  • 1,MySQL函數的分類
  • 2,MySQL的內置函數及分類
  • 3,不同DBMS函數差異顯著
  • 4,數值函數
    • 4.1,基本數值函數
    • 4.2,角度與弧度互換函數
    • 4.3,三角函數
    • 4.4,指數函數與對數函數
    • 4.5,進制間的轉換函數
  • 5,字符串函數
  • 6,日期和時間函數
    • 6.1,獲取日期、時間
    • 6.2,日期與時間戳的轉換
    • 6.3,獲取月份、星期、星期數、天數
    • 6.4,日期的操作函數
    • 6.5,時間和秒鐘轉換的函數
    • 6.6,計算日期和時間的函數
    • 6.7,日期的格式化與解析
  • 7,流程控制函數
  • 8,加密函數和解密函數
  • 9,MySQL信息函數


1,MySQL函數的分類

函數在計算機語言的使用中貫穿始終,從函數定義的角度出發,我們可以將函數分成內置函數自定義函數

  • 內置函數是系統內置的通用函數;
  • 而自定義函數是我們根據自己的需要編寫的;

在 SQL 語言中,同樣也包括了內置函數和自定義函數。本文主要講解的是MySQL的內置函數中的單行函數。


2,MySQL的內置函數及分類

MySQL提供了豐富的內置函數,這些函數使得數據的維護與管理更加方便,能夠更好地提供數據的分析與統計功能,在一定程度上提高了開發人員進行數據分析與統計的效率。

MySQL提供的內置函數從實現的功能角度可以分為:

  • 數值函數;
  • 字符串函數;
  • 日期和時間函數;
  • 流程控制函數;
  • 加密與解密函數;
  • 獲取MySQL信息函數;
  • 聚合函數等…

這里,我們將這些豐富的內置函數再分為兩類:單行函數聚合函數(或多行函數)

  • 此處的單行函數指的是操作單行數據的函數,輸出一個結果;
  • 此處的多行函數或聚合函數是對一組數據進行匯總的函數,輸出一個結果;

本文主要講解的是MySQL內置函數中的單行函數.


3,不同DBMS函數差異顯著

我們在使用 SQL 語言的時候,不是直接和這門語言打交道,而是通過它使用不同的數據庫軟件,即 DBMS。DBMS 之間的差異性很大。

實際上,只有很少的函數是被 DBMS 同時支持的。比如,大多數 DBMS 使用(||)或者(+)來做拼接符,而在 MySQL 中的字符串拼接函數為concat()。大部分 DBMS 會有自己特定的函數,這就意味著 采用 SQL 函數的代碼可移植性是很差的 ,因此在使用函數的時候需要特別注意。


4,數值函數

MySQL內置的數值函數中根據功能可劃分為以下幾類:

  • 基本數值函數;
  • 角度與弧度互換函數;
  • 三角函數;
  • 指數函數與對數函數;
  • 進制間的轉換函數;

4.1,基本數值函數

函數用法
ABS(x)返回x的絕對值
SIGN(X)返回X的符號。正數返回1,負數返回-1,0返回0
PI()返回圓周率的值
CEIL(x)或CEILING(x)返回大于或等于x的最小整數。根據作用可形象記為“天花板函數”
FLOOR(x)返回小于或等于x的最大整數。根據作用可形象記為“地板函數”
LEAST(e1,e2,e3…)返回列表中的最小值
GREATEST(e1,e2,e3…)返回列表中的最大值
MOD(x,y)返回X除以Y后的余數
RAND()返回0~1的隨機值
RAND(x)返回0~1的隨機值,其中x的值用作種子值,相同的X值會產生相同的隨機數
ROUND(x)返回一個對x的值進行四舍五入后的整數
ROUND(x,y)返回一個對x的值進行四舍五入并保留到小數點后面Y位的數
TRUNCATE(x,y)返回數字x截斷為y位小數的結果
SQRT(x)返回x的平方根。當X的值為負數時,返回NULL

注意:上面表格中的天花板和地板指的是兩個相鄰整數中,大的稱為天花板,小的稱為地板。

SQL案例一:基本數值操作

SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
FLOOR(-43.23),MOD(12,5)
FROM DUAL;

運行結果如下:

在這里插入圖片描述

SQL案例二:取隨機數

SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL;

運行結果如下:

在這里插入圖片描述

SQL案例三:小數的四舍五入和截斷操作

SELECT ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1)
FROM DUAL;

運行結果如下:

在這里插入圖片描述


4.2,角度與弧度互換函數

函數用法
RADIANS(x)將角度轉化為弧度,其中,參數x為角度值
DEGREES(x)將弧度轉化為角度,其中,參數x為弧度值
SELECT RADIANS(30),RADIANS(60),RADIANS(90),DEGREES(2*PI()),DEGREES(RADIANS(90))
FROM DUAL;

運行結果如下:

在這里插入圖片描述


4.3,三角函數

函數用法
SIN(x)返回x的正弦值,其中,參數x為弧度值
ASIN(x)返回x的反正弦值,即獲取正弦為x的值。如果x的值不在-1到1之間,則返回NULL
COS(x)返回x的余弦值,其中,參數x為弧度值
ACOS(x)返回x的反余弦值,即獲取余弦為x的值。如果x的值不在-1到1之間,則返回NULL
TAN(x)返回x的正切值,其中,參數x為弧度值
ATAN(x)返回x的反正切值,即返回正切值為x的值
ATAN2(m,n)返回兩個參數的反正切值
COT(x)返回x的余切值,其中,X為弧度值

SQL示例如下:

SELECT SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1)),DEGREES(ATAN2(1,1))
FROM DUAL;

運行結果如下:

在這里插入圖片描述


4.4,指數函數與對數函數

函數用法
POW(X,Y)或POWER(X,Y)返回x的y次方
EXP(X)返回e的X次方,其中e是一個常數,2.718281828459045
LN(X)或LOG(X)返回以e為底的X的對數,當X <= 0 時,返回的結果為NULL
LOG10(X)返回以10為底的X的對數,當X <= 0 時,返回的結果為NULL
LOG2(X)返回以2為底的X的對數,當X <= 0 時,返回NULL

SQL示例如下:

SELECT POW(2,5),POWER(2,4),EXP(2),LN(10),LOG10(10),LOG2(4)
FROM DUAL;

運行結果如下:

在這里插入圖片描述


4.5,進制間的轉換函數

函數用法
BIN(x)返回x的二進制編碼
HEX(x)返回x的十六進制編碼
OCT(x)返回x的八進制編碼
CONV(x,f1,f2)返回f1進制數變成f2進制數

SQL示例如下:

SELECT BIN(10),HEX(10),OCT(10),CONV(10,2,8)
FROM DUAL;

運行結果如下:

在這里插入圖片描述

注意:CONV(10,2,8)即將二進制的10轉換為八進制的值,第一個參數是幾進制看的是第二個參數。


5,字符串函數

函數用法
ASCII(S)返回字符串S中的第一個字符的ASCII碼值
CHAR_LENGTH(s)返回字符串s的字符數。作用與CHARACTER_LENGTH(s)相同
LENGTH(s)返回字符串s的字節數,和字符集有關
CONCAT(s1,s2,…,sn)連接s1,s2,…,sn為一個字符串
CONCAT_WS(x, s1,s2,…,sn)同CONCAT(s1,s2,…)函數,但是每個字符串之間要加上分隔符x
INSERT(str, idx, len, replacestr)將字符串str從第idx位置開始,len個字符長的子串替換為字符串replacestr
REPLACE(str, a, b)用字符串b替換字符串str中所有出現的字符串a
UPPER(s) 或 UCASE(s)將字符串s的所有字母轉成大寫字母
LOWER(s) 或LCASE(s)將字符串s的所有字母轉成小寫字母
LEFT(str,n)返回字符串str最左邊的n個字符
RIGHT(str,n)返回字符串str最右邊的n個字符
LPAD(str, len, pad)用字符串pad對str最左邊進行填充,直到str的長度為len個字符 。填充空格,可實現右對齊效果
RPAD(str ,len, pad)用字符串pad對str最右邊進行填充,直到str的長度為len個字符 。填充空格,可實現左對齊效果
LTRIM(s)去掉字符串s左側的空格
RTRIM(s)去掉字符串s右側的空格
TRIM(s)去掉字符串s開始與結尾的空格
TRIM(s1 FROM s)去掉字符串s開始與結尾的s1
TRIM(LEADING s1 FROM s)去掉字符串s開始處的s1
TRIM(TRAILING s1 FROM s)去掉字符串s結尾處的s1
REPEAT(str, n)返回str重復n次的結果
SPACE(n)返回n個空格
STRCMP(s1,s2)比較字符串s1,s2的ASCII碼值的大小
SUBSTR(s,index,len)返回從字符串s的index位置其len個字符。作用與SUBSTRING(s,n,len)、MID(s,n,len)相同
LOCATE(substr,str)返回字符串substr在字符串str中首次出現的位置。 作用于POSITION(substr IN str)、INSTR(str,substr)相同。未找到,返回0
ELT(m,s1,s2,…,sn)返回指定位置的字符串,如果m=1,則返回s1,如果m=2,則返回s2,如果m=n,則返回sn
FIELD(s,s1,s2,…,sn)返回字符串s在字符串列表中第一次出現的位置
FIND_IN_SET(s1,s2)返回字符串s1在字符串s2中出現的位置。其中,字符串s2是一個以逗號分隔的字符串
REVERSE(s)返回s反轉后的字符串
NULLIF(value1,value2)比較兩個字符串,如果value1與value2相等,則返回NULL,否則返回value1

注意點:

  • MySQL中,字符串的索引位置是從1開始的
  • UTF-8中每個漢字占三個字節;

6,日期和時間函數

6.1,獲取日期、時間

函數用法
CURDATE() 或CURRENT_DATE()返回當前日期,只包含年、月、日
CURTIME() 或 CURRENT_TIME()返回當前時間,只包含時、分、秒
NOW() / SYSDATE()返回當前系統日期和時間(包括年、月、日、時、分、秒)
UTC_DATE()返回UTC(世界標準時間)日期
UTC_TIME()返回UTC(世界標準時間)時間

SQL示例:

SELECT CURDATE(),CURTIME(),NOW(),SYSDATE()+0,UTC_DATE(),UTC_DATE()+0,UTC_TIME(),UTC_TIME()+0
FROM DUAL;

運行結果如下:

在這里插入圖片描述

注意點:

  • 在 MySQL 中,UTC_TIME() 和 CURTIME() 都是用于獲取當前時間的函數,但它們的時區處理方式不同;
  • CURTIME()返回MySQL 服務器當前時區的時間;
  • 而UTC_TIME()不受服務器時區設置影響,始終返回 UTC 時區的時間;
  • 中國使用的是北京時間,即東八區(UTC+8)。所以,當MySQL服務器在中國且時區設置為系統默認時,它會自動采用東八區的時間,導致與UTC有8小時的時差

6.2,日期與時間戳的轉換

函數用法
UNIX_TIMESTAMP()以UNIX時間戳的形式返回當前時間。SELECT UNIX_TIMESTAMP() ->1634348884
UNIX_TIMESTAMP(date)將時間date以UNIX時間戳的形式返回
FROM_UNIXTIME(timestamp)將UNIX時間戳的時間轉換為普通格式的時間

SQL代碼示例如下:

SELECT UNIX_TIMESTAMP(),UNIX_TIMESTAMP('2024-10-01 12:12:32'),FROM_UNIXTIME(1756697131),FROM_UNIXTIME(1633061552)
FROM DUAL;

運行結果如下:

在這里插入圖片描述


6.3,獲取月份、星期、星期數、天數

函數用法
YEAR(date) / MONTH(date) / DAY(date)返回具體的年/月/日
HOUR(time) / MINUTE(time) / SECOND(time)返回具體的時//分/秒
MONTHNAME(date)返回月份是幾月:January,…
DAYNAME(date)返回星期幾:MONDAY,TUESDAY…SUNDAY
WEEKDAY(date)返回周幾,注意,周1是0,周2是1,。。。周日是6
QUARTER(date)返回日期對應的季度,范圍為1~4
WEEK(date) 或 WEEKOFYEAR(date)返回一年中的第幾周
DAYOFYEAR(date)返回日期是一年中的第幾天
DAYOFMONTH(date)返回日期位于所在月份的第幾天
DAYOFWEEK(date)返回周幾,注意:周日是1,周一是2,。。。周六是7

SQL示例1:

SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()),
HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE())
FROM DUAL;

運行結果如下::

在這里插入圖片描述

SQL示例2:

SELECT MONTHNAME('2021-10-26'),DAYNAME('2021-10-26'),WEEKDAY('2021-10-26'),
QUARTER(CURDATE()),WEEK(CURDATE()),DAYOFYEAR(NOW()),
DAYOFMONTH(NOW()),DAYOFWEEK(NOW())
FROM DUAL;

運行結果如下:

在這里插入圖片描述


6.4,日期的操作函數

函數用法
EXTRACT(type FROM date)返回指定日期中特定的部分,type指定返回的值

其中type的取值有如下選擇:

在這里插入圖片描述
在這里插入圖片描述

SQL代碼示例如下:

SELECT EXTRACT(MINUTE FROM NOW()),EXTRACT( WEEK FROM NOW()),
EXTRACT( QUARTER FROM NOW()),EXTRACT( MINUTE_SECOND FROM NOW())
FROM DUAL;

運行結果如下:

在這里插入圖片描述
注意:上圖中的1204表示的是12分04秒。


6.5,時間和秒鐘轉換的函數

函數用法
TIME_TO_SEC(time)將 time 轉化為秒并返回結果值。轉化的公式為:小時*3600+分鐘*60+秒
SEC_TO_TIME(seconds)將 seconds 描述轉化為包含小時、分鐘和秒的時間

SQL示例如下:

SELECT TIME_TO_SEC(CURTIME()),
SEC_TO_TIME(51369)
FROM DUAL;

運行結果如下:

在這里插入圖片描述


6.6,計算日期和時間的函數

函數用法
DATE_ADD(datetime, INTERVAL expr type)或ADDDATE(date,INTERVAL expr type)返回與給定日期時間相差INTERVAL時間段的日期時間(
DATE_SUB(date,INTERVAL expr type)或SUBDATE(date,INTERVAL expr type)返回與給定日期時間相差INTERVAL時間段的日期時間 (-

其中type的取值有如下選擇:

在這里插入圖片描述

SQL代碼示例一:

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1,DATE_ADD('2025-09-02 14:24:30',INTERVAL 1 SECOND) AS col2,
ADDDATE('2025-09-02 14:24:30',INTERVAL 1 SECOND) AS col3,
DATE_ADD('2025-09-02 14:24:30',INTERVAL '1_1' MINUTE_SECOND) AS col4,
DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col5, #可以是負數
DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col6 #需要單引號
FROM DUAL;

運行結果如下:

在這里插入圖片描述

注意:

  • 當type為多個單位的聯合類型時,比如 “MINUTE_SECOND” ,INTERVAL后的兩個參數需要使用下劃線分隔開,并且需要使用 一對引號括起來;

補充:

函數用法
ADDTIME(time1,time2)返回time1上time2的時間。當time2為一個數字時,代表的是,可以為負數
SUBTIME(time1,time2)返回time1去time2后的時間。當time2為一個數字時,代表的是,可以為負數
DATEDIFF(date1,date2)返回date1 - date2的日期間隔天數
TIMEDIFF(time1, time2)返回time1 - time2的時間間隔(時分秒
FROM_DAYS(N)返回從0000年1月1日起,N天以后的日期
TO_DAYS(date)返回日期date距離0000年1月1日的天數
LAST_DAY(date)返回date所在月份的最后一天的日期
MAKEDATE(year,n)針對給定年份與所在年份中的天數返回一個日期
MAKETIME(hour,minute,second)將給定的小時、分鐘和秒組合成時間并返回
PERIOD_ADD(time,n)返回time加上n后的時間

SQL示例如下:

SELECT ADDTIME(NOW(),20),SUBTIME(NOW(),30),SUBTIME(NOW(),'1:1:3'),DATEDIFF(NOW(),'2021-10-01'),
TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'),
LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),12),MAKETIME(10,21,23),PERIOD_ADD(20200101010101,10)
FROM DUAL;

6.7,日期的格式化與解析

  • 日期的格式化即將日期轉換為字符串;
  • 日期的解析即將字符串轉換為日期;
函數用法
DATE_FORMAT(date,fmt)按照字符串fmt格式化日期date值
TIME_FORMAT(time,fmt)按照字符串fmt格式化時間time值
GET_FORMAT(date_type,format_type)返回日期字符串的顯示格式
STR_TO_DATE(str, fmt)按照字符串fmt對str進行解析,解析為一個日期

上述函數中fmt參數常用的格式符如下:

格式符說明格式符說明
%Y4位數字表示年份%y兩位數字表示年份
%M月名表示月份(January,…)%m兩位數字表示月份(01,02,03…)
%b縮寫的月名(Jan.,Feb.,…)%c數字表示月份(1,2,3,…)
%D英文后綴表示月中的天數(1st,2nd,3rd,…)%d兩位數字表示月中的天數(01,02…)
%e數字形式表示月中的天數(1,2,3,4,5…)
%H兩位數字表示小數,24小時制(01,02…)%h和%I兩位數字表示小時,12小時制(01,02…)
%k數字形式的小時,24小時制(1,2,3…)%l數字形式表示小時,12小時制(1,2…)
%i兩位數字表示分鐘(00,01,02)%S和%s兩位數字表示秒(00,01,02…)
%W一周中的星期名稱(Sunday…)%a一周中的星期縮寫(Sun.,Mon.,Tues.,…)
%w以數字表示周中的天數(0=Sunday,1=Monday…)
%j以3位數字表示年中的天數(001,002…)%U以數字表示年中的第幾周,(1,2,3…)其中Sunday為周中第一天
%u以數字表示年中的第幾周,(1,2,3…)其中Monday為周中第一天
%T24小時制%r12小時制
%pAM或PM%%表示%

GET_FORMAT函數中date_type和format_type參數取值如下:

在這里插入圖片描述日期格式化SQL示例:

SELECT DATE_FORMAT(CURDATE(),'%Y-%M-%D'),
DATE_FORMAT(NOW(),'%Y-%m-%d'),TIME_FORMAT(CURTIME(),'%h:%i:%S'),
DATE_FORMAT(NOW(),'%Y-%M-%D %h:%i:%S %W %w %T %r')
FROM DUAL;

運行結果如下:

在這里插入圖片描述


SQL示例如下:

SELECT STR_TO_DATE('2021-October-25th 11:37:30 Monday 1','%Y-%M-%D %h:%i:%S %W %w')
FROM DUAL;

運行結果如下:

在這里插入圖片描述


SQL示例如下:

SELECT GET_FORMAT(DATE,'USA')
FROM DUAL;

運行結果如下:

在這里插入圖片描述


SQL示例如下:

SELECT DATE_FORMAT(CURDATE(),GET_FORMAT(DATE,'USA'))
FROM DUAL;

運行結果如下:
在這里插入圖片描述


7,流程控制函數

流程處理函數可以根據不同的條件,執行不同的處理流程,可以在SQL語句中實現不同的條件選擇。

函數用法
IF(value,value1,value2)如果value的值為TRUE,返回value1,否則返回value2
IFNULL(value1, value2)如果value1不為NULL,返回value1,否則返回value2
CASE WHEN 條件1 THEN 結果1 WHEN 條件2 THEN 結果2 … [ELSE 結果n] END相當于Java的if…else if…else…
CASE expr WHEN 常量值1 THEN 值1 WHEN 常量值2 THEN 值2 … [ELSE 值n] END相當于Java的switch…case…

①具體需求:當員工的提成字段commission_pct為空的時候返回0,否則返回提成的比率。并據此計算員工的年工資

實現方式一:

SELECT last_name,commission_pct,IF(commission_pct IS NOT NULL,commission_pct,0) "details",
salary * 12 * (1 + IF(commission_pct IS NOT NULL,commission_pct,0)) "annual_sal"
FROM employees;

實現方式二:

SELECT last_name,commission_pct,IFNULL(commission_pct,0) "details",
salary * 12 * (1 + IFNULL(commission_pct,0)) "annual_sal"
FROM employees;

運行結果如下:

在這里插入圖片描述

②具體需求:月薪大于等于15000的員工稱為大牛;月薪大于等于1000的員工稱為小牛;大于8000稱為潛力股;其他稱為待定

SQL語句如下:(類似Java中的if else)

SELECT last_name,salary,CASE WHEN salary >= 15000 THEN '白骨精' WHEN salary >= 10000 THEN '潛力股'WHEN salary >= 8000 THEN '小屌絲'ELSE '草根' END "details",department_id
FROM employees;

運行結果如下:

在這里插入圖片描述

③查詢部門號為 10,20,30 的員工信息, 若部門號為 10,則打印其工資的 1.1 倍,20 號部門,則打印其工資的 1.2 倍,30 號部門,打印其工資的 1.3 倍數,其他部門,打印其工資的 1.4 倍數

SQL語句如下:(類似Java中的switch case)

SELECT employee_id,last_name,department_id,salary, CASE department_id WHEN 10 THEN salary * 1.1WHEN 20 THEN salary * 1.2   WHEN 30 THEN salary * 1.3ELSE salary * 1.4 END "details"
FROM employees;

8,加密函數和解密函數

加密與解密函數主要用于對數據庫中的數據進行加密和解密處理,以防止數據被他人竊取。這些函數在保證數據庫安全時非常有用。

函數用法
PASSWORD(str)返回字符串str的加密版本,41位長的字符串。加密結果不可逆,常用于用戶的 密碼加密。
MD5(str)返回字符串str的md5加密后的值,也是一種加密方式。加密結果不可逆,若參數為NULL,則會返回NULL
SHA(str)從原明文密碼str計算并返回加密后的密碼字符串,當參數為NULL時,返回NULL。SHA加密算法比MD5更加安全
ENCODE(value,password_seed)返回使用password_seed作為加密密碼加密value
DECODE(value,password_seed)返回使用password_seed作為加密密碼解密value

注意:

  • PASSWORD()、ENCODE()、DECODE 函數在MySQL8.0中已被棄用;
  • MD5和SHA加密結果不可逆,校驗時對比密文;
  • ENCODE(value,password_seed)函數與DECODE(value,password_seed)函數互為反函數。

SQL示例一:

SELECT md5('123'),SHA('Tom123')
FROM DUAL;

運行結果如下:

在這里插入圖片描述

SQL示例二:

SELECT DECODE(ENCODE('atguigu','mysql'),'mysql')
FROM DUAL;

運行結果如下:

在這里插入圖片描述


9,MySQL信息函數

MySQL中內置了一些可以查詢MySQL信息的函數,這些函數主要用于幫助數據庫開發或運維人員更好地對數據庫進行維護工作。

函數用法
VERSION()返回當前MySQL的版本號
CONNECTION_ID()返回當前MySQL服務器的連接數
DATABASE()或SCHEMA()返回MySQL命令行當前所在的數據庫
USER()或CURRENT_USER()或SYSTEM_USER()或SESSION_USER()返回當前連接MySQL的用戶名,返回結果格式為“主機名@用戶名”
CHARSET(value)返回字符串value自變量的字符集
COLLATION(value)返回字符串value的比較規則

SQL示例如下:

SELECT VERSION(),CONNECTION_ID(),DATABASE(),SCHEMA(),
USER(),CURRENT_USER(),CHARSET('sgg'),COLLATION('sgg')
FROM DUAL;

運行結果如下:

在這里插入圖片描述


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95348.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python OpenCV圖像處理與深度學習:Python OpenCV視頻處理入門

視頻處理基礎&#xff1a;掌握OpenCV視頻操作 學習目標 通過本課程&#xff0c;學員們將學習如何使用Python和OpenCV庫來處理視頻文件&#xff0c;包括讀取視頻、捕獲攝像頭視頻流、處理視頻幀以及保存處理后的視頻&#xff0c;同時&#xff0c;能夠獨立完成基本的視頻處理任務…

AI 賦能 Java 開發效率:全流程痛點解決與實踐案例(四)

文檔與注釋自動化&#xff1a;從 “手動撰寫” 到 “實時同步”&#xff0c;降低維護成本 &#x1f4c4; Java 開發強調 “文檔先行”&#xff0c;Javadoc 注釋、架構文檔、接口文檔是項目維護的重要資產。但手動撰寫文檔存在兩大痛點&#xff1a;一是耗時&#xff08;開發者平…

【機器學習學習筆記】pandas基礎

零基礎入門 Pandas&#xff1a;數據處理的 "萬能工具"如果你是剛接觸數據分析的小白&#xff0c;一定聽過 "Pandas" 這個名字。簡單說&#xff0c;Pandas 是 Python 中專門用來處理數據的工具庫&#xff0c;就像 Excel 的 "高級版"—— 能更快、…

(Mysql)MVCC、Redo Log 與 Undo Log

1. MVCC&#xff08;多版本并發控制&#xff09;概念 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;是一種數據庫并發控制機制&#xff0c;用于解決 讀寫沖突&#xff0c;提高數據庫并發性能。MySQL InnoDB 存儲引擎使用 MVCC 來實現 非阻塞讀&#xff08;即…

OpenCV-Python Tutorial : A Candy from Official Main Page(五)

4.5FAST Algorithm for Corner Detection 4.5.1FAST算法 我們已了解多種特征檢測器&#xff0c;其中許多效果出色。但從實時應用的角度來看&#xff0c;它們的速度仍不夠快。一個典型例子是計算資源有限的SLAM&#xff08;同步定位與建圖&#xff09;移動機器人。 為解決此問…

LINUX 91 SHELL:刪除空文件夾 計數

問題 [rootweb ~]# find -type f -exec echo "file:{}" $path; find: 遺漏“-exec”的參數 您在 /var/spool/mail/root 中有郵件[rootweb ~]# $path/root -bash: /root: 沒有那個文件或目錄 您在 /var/spool/mail/root 中有新郵件 [rootweb ~]# path/root [rootweb ~…

視頻軟解碼技術詳解:原理、應用與未來發展

視頻軟解碼的基本原理 概念解析&#xff1a;CPU主導的通用解碼方式 視頻軟解碼是一種完全依賴通用CPU執行解碼算法的視頻還原技術&#xff0c;其核心特征在于不依賴任何專用硬件模塊&#xff0c;而是通過軟件程序調用CPU的通用計算能力完成壓縮視頻數據的解碼過程[1][2]。與硬…

線性回歸中梯度下降與正規方程以及擬合問題與正則化

線性回歸實戰指南&#xff1a;從理論到實踐 目錄 線性回歸理論基礎機器學習項目開發流程波士頓房價預測實戰梯度下降與正規方程模型評估指標擬合問題與正則化總結與展望 1. 線性回歸理論基礎 1.1 什么是線性回歸&#xff1f; 線性回歸是一種監督學習算法&#xff0c;用于預…

為什么46.1k程序員都在用這個AI繪畫神器?我體驗一周后終于明白了

大家好&#xff0c;我是顧北&#xff0c;一名AI應用探索者&#xff0c;也是GitHub開源項目收集者。說起AI繪畫這事兒&#xff0c;我之前真的是又愛又恨。上個月想給朋友搞張生日賀圖&#xff0c;結果在Stable Diffusion WebUI里折騰了大半天。采樣步數&#xff1f;CFG比例&…

Java基礎第8天總結(map遍歷、Stream流)

選中一部分代碼&#xff0c;然后CTRLALTT&#xff0c;可以在外面套上while循環,try..catch之類的小案例&#xff1a;電影信息管理模塊&#xff1a;用戶可以上架、查詢、下架、下架某個主演參演的電影package Demo;import lombok.AllArgsConstructor; import lombok.Data; impor…

總線矩陣的原理

總線矩陣&#xff08;Bus Matrix&#xff09;是多主設備共享多從設備的智能連接與仲裁核心&#xff0c;本質是一個“靈活的交叉開關陣列”&#xff0c;用于解決多個主設備&#xff08;如CPU、DMA、GPU&#xff09;同時訪問多個從設備&#xff08;如內存、外設、存儲芯片&#x…

硬件開發_基于Zigee組網的果園養殖監控系統

一.系統概述 果園環境監控系統功能如下&#xff1a; 核心控制器&#xff1a;以STM32為核心控制器&#xff0c;承擔整體的數據采集、處理及控制任務。環境參數監測&#xff1a;集成溫度傳感器、CO?傳感器、光照傳感器和土壤濕度傳感器&#xff0c;可實時采集果園內的溫度、二氧…

K8s調度核心:從Pod分配到節點優化

在 Kubernetes&#xff08;K8s&#xff09;中&#xff0c;Pod 調度是指 K8s 系統根據特定規則和策略&#xff0c;將 Pod 合理分配到集群中的某個節點&#xff08;Node&#xff09;上運行的過程。其核心目標是確保 Pod 在合適的節點上高效、穩定地運行&#xff0c;充分利用集群資…

Tomcat 企業級運維實戰系列(四):Tomcat 企業級監控

Tomcat 企業級運維實戰系列&#xff08;四&#xff09;&#xff1a;Tomcat 企業級監控一&#xff1a;監控工具1&#xff09;概述2&#xff09;流程3&#xff09;部署二&#xff1a;監控命令1&#xff09;jps2&#xff09;jstack3&#xff09;jmap4&#xff09;MAT 工具分析三&a…

技術干貨丨HyperMesh 新界面功能與技術升級解析

全文內容選自 Altair 區域技術交流會華東站Altair 高級技術經理 張晨《HyperWorks 2025&#xff1a;下一代建模可視化和二次開發平臺》演講1、引言今天我為大家介紹 HyperMesh——這個大家既熟悉又陌生的工具。說熟悉&#xff0c;是因為它一直是工程仿真領域的主流建模軟件&…

《IC驗證必看|隨機穩定性 / 再現性》

同一用例 A 機 pass、B 機 fail&#xff1f;——SystemVerilog 隨機穩定性 / 可復現性全攻略&#xff08;含代碼與排查清單&#xff09;你該到什么水平&#xff1f;&#xff08;對標 20k / 25k / 30k&#xff09; 20k&#xff08;入門會用&#xff09; 會 randomize()、$urando…

字符編碼的本質

目的 最近做一個加密方面的研究&#xff0c;加密之后的二進制&#xff0c;通過轉碼之后&#xff0c;再也找不回之前的二進制了。 怎么試都不行&#xff0c;真是非常得奇怪&#xff01;&#xff01;&#xff01;&#xff01;先說說字符編碼基礎知識 在信息技術的海洋中&#xff…

網格圖--Day03--網格圖DFS--2658. 網格圖中魚的最大數目,1034. 邊界著色,1020. 飛地的數量

網格圖–Day03–網格圖DFS–2658. 網格圖中魚的最大數目&#xff0c;1034. 邊界著色&#xff0c;1020. 飛地的數量 今天要訓練的題目類型是&#xff1a;【網格圖DFS】&#xff0c;題單來自靈艾山茶府。 適用于需要計算連通塊個數、大小的題目。 部分題目做法不止一種&#xff0…

新能源車焊接中發那科機器人保護氣省氣方法

在新能源汽車制造領域&#xff0c;焊接工藝是保障車身結構強度與安全性的關鍵環節&#xff0c;發那科焊接機器人憑借高精度與穩定性成為產線主力設備。保護氣體消耗在焊接成本中占比顯著&#xff0c;尋找高效省氣方法成為行業降本增效的核心需求。WGFACS節氣裝置以智能化控制技…

CornerNet2025再研究---將目標檢測問題視作關鍵點檢測與配對

CornerNet于2019年3月份提出&#xff0c;CW近期回顧了下這個在當時引起不少關注的目標檢測模型&#xff0c;它的亮點在于提出了一套新的方法論——將目標檢測轉化為對物體成對關鍵點(角點)的檢測。通過將目標物體視作成對的關鍵點&#xff0c;其不需要在圖像上鋪設先驗錨框(anc…