函數-1-字符串函數

函數-1-字符串函數

  • 字符串函數
    • 函數
      • 語法
    • 字符串函數的使用
      • 字符串函數語法
      • 案例演示
      • 實戰練習

字符串函數

函數

函數是一段可以直接被另一端程序調用的程序或代碼

語法

SELECT 函數名(參數名)

大家可能會有那么一點點疑惑, 為什么執行函數還需要加上SELECT語句? 總結一下, 因為SELECT語句是MySQL中執行函數并獲取結果的標準方式,它能夠方便地與其他SQL操作結合,并以簡潔的語法完成各種計算和數據處理任務。

字符串函數的使用

MySQL中內置了很多字符串函數, 常用的幾個如下:

函數功能
CONCAT(S1, S2, …, Sn)字符串拼接, 將 S1, S2, …, Sn 拼接成一個字符串
LOWER(str)將字符串 str 全部轉為小寫
UPPER(str)將字符串 str 全部轉為大寫
LPAD(str, n, pad)左填充, 用字符串 pad 對 str 的左邊進行填充, 達到 n 個字符串長度
RPAD(str, n, pad)右填充, 用字符串 pad 對 str 的右邊進行填充, 達到 n 個字符串長度
TRIM(str)去掉字符串頭部和尾部的空格
SUBSTRING(str, start, len)返回字符串 str 從 start 位置起的 len 個長度的字符串

字符串函數語法

  1. CONCAT 函數

    SELECT CONCAT(參數)
    
  2. LOWER 函數

    SELECT LOWER(參數)
    
  3. UPPER 函數

    SELECT UPPER(參數)
    
  4. LPAD 函數

    SELECT LPAD(參數)
    
  5. RPAD 函數

    SELECT RPAD(參數)
    
  6. TRIM 函數

    SELECT TRIM(參數)
    

案例演示

  1. 拼接HelloWorld兩個字符串

    select concat('Hello', 'World');
    

    拼接語句

    拼接結果

  2. Hello, World 字符串所有字母轉換成小寫字母

    select lower('Hello, World');
    

    字符串小寫示例語句

    字符串小寫示例語句執行結果

  3. Hello, World 字符串所有字母轉換成大寫字母

    select upper('Hello, World');
    

    字符串大寫示例語句

    字符串大寫示例語句執行結果

  4. 使用 @ 符號對字符串 Hello, World 進行左填充,使其總長度達到 20 個字符

    select lpad('Hello, World', 20, '@');
    

    左補全函數語句

    左補全函數執行結果

  5. 使用 @ 符號對字符串 Hello, World 進行右填充,使其總長度達到 20 個字符

    select rpad('Hello, World', 20, '@');
    

    右補全函數語句

    左補全函數執行結果

  6. 去除字符串 Hello, World 首尾的空格

    select trim(' Hello, World ');
    

    去除首尾空格語句

    去除首尾空格執行結果

  7. 從字符串 Hello, World 中提取子串,得到 llo, Wor

    select substring('Hello, World', 3, 8);
    

    切片函數語句

    切片函數結果

    注意, 此處的起始索引是從1開始算的, 所以需要注意我們切片的時候的起始索引應該是3, 而不是2

實戰練習

首先我們需要準備一下數據, 在 test 庫的 emp_info 中更新一下數據, 進行如下替換即可

INSERT INTO emp_info (id, work_no, name, gender, age, id_card, work_address, entry_time)
VALUES (1, '1', '張偉', '男', 28, '11010519950101234X', '北京市海淀區中關村科技園', '2020-03-15'),(2, '2', '李娜', '女', 32, '310115199209076542', '上海市浦東新區張江高科技園區', '2019-07-22'),(3, '3', '王超', '男', 25, '440305199801129876', '深圳市南山區高新科技園', '2021-11-05'),(4, '4', '趙敏', '女', 29, '510107199412258765', '成都市高新區天府軟件園', '2020-09-18'),(5, '5', '陳陽', '男', 35, '330106198911034567', '杭州市西湖區云棲小鎮', '2018-05-30'),(6, '6', '劉婷', '女', 27, '320506199612127890', '蘇州市工業園區人工智能產業園', '2022-02-14'),(7, '7', '楊帆', '男', 31, '420111199211156789', '武漢市東湖新技術開發區', '2019-10-21'),(8, '8', '周雨', '女', 26, '440111199712098765', '廣州市天河區智慧城', '2021-08-03'),(9, '9', '吳強', '男', 33, '500106198912312345', '重慶市渝北區仙桃數據谷', '2017-04-12'),(10, '10', '鄭琳', '女', 30, '610113199310214567', '西安市高新區軟件新城', '2020-01-25');
  1. 由于業務需求變更, 企業員工的工號, 統一為 5 位數, 目前不足 5 位數的全部在前面補 0, 例如: 1 號員工的公號應該為 00001

    這題其實不是很復雜, 但咱可以稍微搞復雜一些, 順便回顧一下之前的知識點

    首先查看一下建表語句, 獲取一下各字段信息

    desc emp_info;
    

    建表結構

    查看到表結構, 我們需要統一的企業員工的工號字段為 work_no, 類型為 varchar(10)

    再查看一下表內容

    select *
    from emp_info;
    

    emp表內容

    這里其實可以發現, work_no 字段都不足 5 位數, 但是字段類型卻為 varchar(10), 所以我們可以嘗試修改以下表的結構, 將其統一為 char(5), 當然只作練習使用, 不適用于生產環境, 生產環境還是得因地制宜, 按照企業的意思進行管理, 這里只做學習!!!

    修改 work_no 字段類型為 char(5)

    alter table emp_infomodify work_no char(5);
    

    再次查看表結構以確認修改結果

    修改表結構

    使用左補全, 補全員工工號字段, 并且更新到表中, 這里其實大家就能明白, 使用函數不一定要帶有 SELECT

    update emp_info
    set work_no=lpad(emp_info.work_no, 5, '0');
    

    表修改結果

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

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

相關文章

打破AI落地困局:易路iBuilder的“垂直深耕+開箱即用”破壁之道

中國企業的數字化轉型已步入深水區,人力資源管理作為企業核心競爭力的關鍵引擎,正經歷從“信息化”向“智能化”的范式躍遷。在這場以AI為驅動的組織效能革命中,??易路人力資源科技??憑借前瞻性的“軟件AI服務”戰略,推出國內…

Higress離線部署

1.前提條件檢查docker和docker compose是否已經具備 [roothost151 ~]# docker -v Docker version 26.1.4, build 5650f9b [roothost151 ~]# docker composeUsage: docker compose [OPTIONS] COMMANDDefine and run multi-container applications with DockerOptions:--all-res…

利用AI技術快速提升圖片編輯效率的方法

通過更換背景或進行其他創意編輯,可以為圖片賦予新的生命力和視覺效果,使得創意表達更加自由靈活。這款AI摳圖工具堪稱強大,依托先進的阿爾法通道技術,能夠精準、自然地實現圖像摳取與背景更換。操作也非常簡單,只需將…

Wend看源碼-RAGFlow(上)

前言 最近在github上搜羅Rag相關項目的時候,我根據star 搜索到了目前star 最高的一些RAG 項目 ,其中穩居榜首的就是RAGFlow。 RAG stars:>1000 language:Python pushed:>2025-01-01 github RAG 相關項目搜索結果 為了系統性的學習RAG 技術棧&#…

LangChain實現RAG檢索增強

1:啟動vllm的openai兼容server: export VLLM_USE_MODELSCOPETrue python -m vllm.entrypoints.openai.api_server --model qwen/Qwen-7B-Chat-Int4 --trust-remote-code -q gptq --dtype float16 --gpu-memory-utilization 0.6 2:構建向量數據庫 from langchain_…

Redis基礎(6):SpringDataRedis

SpringDataRedis簡介 SpringData是Spring中專門進行數據操作的模塊,包含了對于各種數據庫的集成。其中對Redis的集成模塊叫做SpringDataRedis(官網地址:Spring Data Redis)。其最核心的特點就是提供了不同Redis客戶端的整合&…

B. Shrinking Array/縮小數組

B. Shrinking Array讓我們稱一個數組 b 為 i 美麗 ,如果它至少包含兩個元素,并且存在一個位置 |bi?bi1|≤1 使得 |x| (其中 x 是 #10# #11# 的絕對值)。給定一個數組 a ,只要它至少包含兩個元素,你就可以執行以下操作&#xff1a…

【學習筆記】Linux系統中SSH服務安全配置

一、背景知識 以ubuntu為例,查看ssh服務是否安全并配置,執行 ssh -V ssh的配置文件路徑:/etc/ssh/sshd_config 二、SSH服務配置文件 1.端口和監聽設置 Port 22 含義:指定SSH服務監聽的端口號(默認是22&#xff09…

FastAPI + Tortoise-ORM + Aerich 實現數據庫遷移管理(MySQL 實踐)

在 FastAPI 項目中,Tortoise-ORM 是一個輕量的異步 ORM 框架,適用于 async/await 場景。結合數據庫遷移工具 Aerich,可以優雅地管理數據庫表結構演進,本文將通過完整流程演示如何在 MySQL 環境下使用。📦 一、環境準備…

7.7日 實驗03-Spark批處理開發(2)

使用Spark處理數據文件檢查數據檢查$DATA_EXERCISE/activations里的數據&#xff0c;每個XML文件包含了客戶在指定月份活躍的設備數據。拷貝數據到HDFS的/dw目錄樣本數據示例&#xff1a;<activations><activation timestamp"1225499258" type"phone&q…

C語言可變參數感悟

#include <stdio.h> #include <stdarg.h> #if 1 /* *在C語言中&#xff0c;可變參函數是指參數數量不固定的函數&#xff0c;比如printf\scanf *可變參函數的語法&#xff1a; *返回類型 函數名&#xff08;固定函數&#xff0c;.....) { //函數體 } *1、包含頭文件…

LeetCode 1248.統計優美子數組

給你一個整數數組 nums 和一個整數 k。如果某個連續子數組中恰好有 k 個奇數數字&#xff0c;我們就認為這個子數組是「優美子數組」。 請返回這個數組中 「優美子數組」 的數目。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,2,1,1], k 3 輸出&#xff1a;2 解釋&#xf…

FastAPI Docker環境管理腳本使用指南

作者: 源滾滾AI編程 創建時間: 2025年07月08日 版本: v1.0.0 文檔狀態: 完成 版權聲明 本文檔由源滾滾AI編程創作,版權所有。未經作者書面許可,不得復制、分發或用于商業用途。 免責聲明 本文檔僅用于技術交流和學習目的。作者不對使用本文檔內容導致的任何問題承擔責任。…

前端常見 HTTP 狀態碼

作為前端開發者&#xff0c;與后端 API 交互時&#xff0c;HTTP 狀態碼是判斷請求成敗的關鍵信號。理解常見狀態碼的含義、責任歸屬及應對策略&#xff0c;能極大提升調試效率和團隊協作。以下是關鍵狀態碼的詳細解析&#xff1a; 首先說一下如何查看狀態碼&#xff1a; 如上圖…

深度解析C語言內存函數(小米面試題)

目錄 一、memcpy1.1 代碼演示1.2 memcpy的模擬實現 二、memmove2.1 代碼演示2.2 模擬實現&#xff08;小米面試題&#xff09; 三、memset3.1 代碼演示3.2 總結 四、memcmp4.1 代碼演示4.2 總結 總結 一、memcpy &#xff08;memory copy 內存復制&#xff09; 之前文章中寫的…

DK124反激式開關電源芯片

18W 高性能交直流轉換芯片 特性 DK124 是一款離線式開關電源芯片&#xff0c;最大輸出功率達到 24W。內部集成了 PWM 控制器、700V 功率管和初級峰值電流檢測電路&#xff0c;并采用了可以省略輔助供電繞組的專利自供電技術&#xff0c;極大簡化了外圍應用電路&#xff0c;減…

商品銷售數據分析實驗

進入虛擬機&#xff0c;啟動HDFS和Yarn1.創建表 hive show databases; use test;銷售訂單表create table t_dml (detail_id bigint,sale_date date, province string,city string,product_id bigint,cnt bigint,amt double )row format delimited fields terminated by ,;商品…

PH熱榜 | 2025-07-08

1. TensorBlock Forge 標語&#xff1a;人工智能模型的API 介紹&#xff1a;Forge是一個快速且安全的工具&#xff0c;讓你可以跨不同供應商連接和運行AI模型 產品網站&#xff1a; 立即訪問 Product Hunt&#xff1a; View on Product Hunt 票數&#xff1a; &#x1f53a…

2025-01)electronjs-v11.2.0升級到新版本electronjs-v37.2.0記錄,node版本記錄,淘寶鏡像配置記錄,升級記錄

背景:由于22年使用electronjs開發的自助機客戶端幾年沒去維護,現在有需求要修改,電腦也換新了,node環境也沒,直接把electron從 之前的 11.2.0 版本 升級到了37.2.0版本,升級最主要的目的是升級谷歌瀏覽器內核,升級后谷歌瀏覽器內核直接從87升級到了138,可以支持谷歌最新…

iQOO手機怎樣相互遠程控制?其他手機可以遠程控制iQOO嗎?

iQOO是Vivo同一品牌下的產品&#xff0c;它們兩款手機都可以使用手機內置的遠程控制功能。具體做法是&#xff0c;打開控制端的iQOO手機的【設置】【快捷與輔助】、【遠程協助】&#xff0c;然后輸入被控端的電話號碼&#xff0c;等被控端的手機接受遠程協助后&#xff0c;就可…