Mysql中的常用函數:

来源:http://www.cnblogs.com/wadmwz/archive/2017/09/08/7490943.html
-Advertisement-
Play Games

Mysql中的常用函數: 1.字元串函數: (1).合併字元串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//當傳入的參數有一個值為NULL,返回的結果值為NULL concat_ws();// 指定分隔符插入到字元串中:concat_ws ...


Mysql中的常用函數: 1.字元串函數: (1).合併字元串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//當傳入的參數有一個值為NULL,返回的結果值為NULL concat_ws();// 指定分隔符插入到字元串中:concat_ws(":",'2017','09');==2017:09,但如果分隔符是NULL的話,結果就為NULL,參數是NULL,不影響結果 (2).比較字元串大小的函數: select strcmp(字元串1,字元串2);大於返回1,小於返回-1,等於返回0 (3).獲取字元串長度的函數: length(); // 計算空格,指的是傳入參數的長度(位元組長度),一個漢字是兩個位元組. char_length();// 傳入參數的字元數(字元長度) (4).字母大小寫轉換函數: UPPER();或者是UCASE()轉化為大寫 LOWER(); (5).查找字元串: select FIND_IN_SET(查找字元串,目標字元串集合);// 返回字元串位置的函數,目標字元串是以逗號分割的字元串集合,下標從1開始 select FIELD(查找字元串,目標字元串1,目標字元串2,...........);// 返回字元串位置的函數 LOCATE(str1,str);// 返回str中字元串str1的開始位置 POSITION(str1 IN str);// 返回str中字元串str1的開始位置 INSTR(str,str1); // 返回str中字元串str1的開始位置 ELT(n,str1,str2......,strn);// 返回第n個字元串 MAKE_SET(num,str1,str2,...strn) ;// 先將數值num轉化為二進位,然後按照二進位數從參數str1,str2,....,strn中選取相應的字元串 例子:select BIN(5) as 二進位數,MAKE_SET(5,'MYSQL','ORACLE','SQL SERVER','POSTGRESQL') as 選取後的字元串;// 結果為MYSQL,SQL SERVER (6).截取字元串函數: LEFT(str,num);// 從左邊截取,字元串是str,長度是num RIGHT(str,num);// 從右邊截取,字元串是str,長度是num SUBSTRING(str,num,len);// 字元串是str,從num位置開始,長度是len,包含num位置 MID(str,num,len);// 字元串是str,從num位置開始,長度是len,包含num位置 (7),去除字元串的首尾空格: LTRIM(str);// 去除字元串開始處空格 RTRIM(str);// 去除字元串結束處空格 TRIM(str);// 去除字元串首尾空格 (8).替換字元串函數: INSERT(str,pos,len,newstr);// str是原字元串,pos是需要替換的開始位置,len是替換的長度(根據需要來定),newstr是替換的新字元串 REPLACE(str,substr,newstr);// str是原字元串,substr是需要替換的字元串,newstr是替換substr的字元串,替換所有匹配的字元串 註意:比較以下兩個結果: select replace("THIS IS TEST STRING","IS","IS NOT");// THIS NOT IS NOT TEST STRING,不區分單詞,切記 select replace("THIS IS TEST STRING"," IS "," IS NOT ");//THIS IS NOT TEST STRING 2.數值函數: (1).獲取隨機數: RAND(); // 返回的數完全隨機 RAND(x); // x表示數字,返回的隨機數值是相同的(確定的) (2).獲取整數的函數: CEIL(x);// 上取整 FLOOR(x);// 下取整 (3).截取數值函數: TRUNCATE(x,y);// x表示要截取的數值,y表示小數點後幾位,也就是保留幾位小數,是直接捨去,而不是四捨五入. (4).四捨五入函數: ROUND(x); ROUND(x,y);// 返回數值x保留到小數點後y位 3.日期函數: (1).獲取當前日期和時間函數: now();// 當前日期和時間 locatime();// 當前日期和時間 current_timestamp();// 當前日期和時間 SYSDTAE();// 當前日期和時間 (2).當前日期: curdate();// 當前日期 current_date();// 當前日期 (3).當前時間: curtime(); current_time(); (4).各種方式顯示日期和時間: unix_timestamp(日期類型的字元串);// 將日期類型的字元串轉化為整形(秒數),UNIX格式 from_unixtime("整形");// 將整形字元串轉化為日期,普通格式 UTC_DATE();// utc日期,只有日期 UTC_TIME();// utc時間 ,只有時間 (5).獲取日期和時間各部分值: SELECT NOW() 當前日期和時間,   YEAR(NOW()) 年,   QUARTER(NOW()) 季度,   MONTH(NOW()) 月,   WEEK(NOW())星期,   DAYOFMONTH(NOW()) 天,   HOUR(NOW()) 小時,   MINUTE(NOW()) 分,   SECOND(NOW()) 秒; (6).月(參數都是日期類型的字元串): MONTH(date); MONTHNAME(date); (7).星期: week(date);// 年中第幾個星期 weekofyear(date);// 年中第幾個星期 dayname(date);// 星期,英文顯示 dayofweek(date);// 星期(不理解,用下麵的) weekday(date);// 星期,數字表示 (8).天 dayofyear(date);// 年中的第幾天 dayofmonth(date);// 月中的第幾天 (9).EXTRACT函數 EXTRACT(YEAR from NOW()); // 年 EXTRACT(month from NOW()); // 月 EXTRACT(day from NOW()); // 日 EXTRACT(hour from NOW()); // 時 EXTRACT(minutefrom NOW()); // 分 EXTRACT(second from NOW()); // 秒 (10).計算日期和時間的函數: SELECT NOW() 當前日期和時間,   TO_DAYS(NOW()) 相隔天數, // 距離0000年1月1日   FROM_DAYS(TO_DAYS(NOW())) 一段時間後日期和時間,   DATEDIFF(NOW(),'2000-12-01') 相隔天數; (11).與指定日期和時間操作: ADDDATE(date,n); // 計算date加上n天後的日期 SUBDATE(date,n); // 計算date減去n天後的日期 ADDDATE(d,INTERVAL expr type);// type的類型查看http://www.w3school.com.cn/sql/func_date_add.asp SUBDATE(d,INTERVAL expr type); 例子: select adddate(now(),interval '2,3' year_month ) '2年3個月後的日期'; 4.系統信息函數 (1).獲取MySQL系統信息: 使用\h SELECT   VERSION() 版本號,   DATABASE() 資料庫名,   USER() 用戶名; (2).獲取自增長約束的最後ID值 SELECT LAST_INSERT_ID(); (3).其他函數:
IF(value,t f) 如果value是真,返回t,否則返回f
IFNULL(value1,value2) 如果value1不為空返回value1,否則返回value2
CASE WHEN [value1] THEN[result1]…ELSE[default] END 如果value1是真,返回result1,否則返回default
CASE [expr]WHEN[value1] THEN[result1]…ELSE[default] END 如果expr等於value1,返回result1,否則返回default
 
                     
PASSWORD(str) 實現對字元串str進行加密
FORMAT(x,n) 實現將數字x進行格式化,保留n位小數
INET_ATON(ip) 實現將IP地址轉換成數字
INET_NTOA(x) 實現將數字轉換成IP
GET_LOCT(name,time) 創建一個持續時間為time的名為name的鎖
RELEASE_LOCT(name) 為名為name的鎖進行解鎖
BENCHMARK(count,expr) 實現將表達式重覆執行count次
CONVERT(s USING cs) 實現將字元串s的字元集變成cs
CONVERT(x,type) 實現將x變成type類型
     
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ”只能在UI主線程中更新View“。 這句話很熟悉吧? 來來,哥們,看一下下麵的例子 代碼這麼寫,不是逗比嗎!肯定崩啊!但是,如果你試一下,你會發現,絕大多數是不會崩的。至於極少數會崩潰的原因,我一會再說。 你可能會很疑惑,不是”只能在UI主線程中更新View“嗎?你這個在子線程裡面更新View,為 ...
  • 廣播接收者實現IP撥號 效果圖: 實現的功能就是自動監聽我們要撥打的號碼,在我們撥打的號碼前加上179521 分析: 1、敲個類來繼承廣播接收者 並且將從打電話應用位置獲取的號碼加上179521,並將修改後的號碼返回給打電話APP 2、指定廣播接收者監聽的對象 這個就是指定我們的廣播接收者監聽電話應 ...
  • 參考: Android入門:廣播發送者與廣播接收者 - xiazdong - CSDN博客http://blog.csdn.net/xiazdong/article/details/7768807 一、廣播發送者&廣播接收者介紹 1.廣播接收者 廣播接收者簡單地說就是接收廣播意圖的Java類,此Ja ...
  • 1:Canvas類 2:Paint類 3:簡單幾何圖形繪製 4.1:drawRect矩形繪製 4.2:drawLine 4.3:橢圓繪製 4.4:弧形繪製 4.5:drawPath方法 4.6:drawText,drawTextOnpath,drawTextRun ...
  • 使用了c3p0的連接池,在建立連接時,c3p0會在資料庫連接一張test表,用來驗證連接。 現在情況是 由於其他應用先前也在這個庫建立了一張test表,用來存儲業務數據,結果c3p0無法新建一張表來處理連接。 報錯截圖: 所以每次查詢時,雖然用戶名、密碼等所有連接信息都正確。也會因為test表的問題 ...
  • Mysql建庫語句(導出的): DROP TABLE IF EXISTS `tablename`; CREATE TABLE `tablename` ( `C_DI_CDE` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, /*My ...
  • 在hdfs集群上,需要向Hdfs寫入文件,控制台會輸出以下錯誤信息: Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission den ...
  • 前陣子遇到一個很是棘手的問題,監控系統DPA發現某個自定義標量函數被調用的次數非常高,高到一個離譜的程度。然後在Troubleshooting這個問題的時候,確實遇到了一些問題讓我很是糾結,下文是解決問題過程的一點思索和嘗試,如果你有更好的思路和解決方法,也請多多指教。 DPA可以監控到該函數每小時... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...