前端學資料庫之函數

来源:http://www.cnblogs.com/xiaohuochai/archive/2016/11/19/6079539.html
-Advertisement-
Play Games

[1]字元函數 [2]數值運算符 [3]比較運算符 [4]日期時間 [5]信息函數 [6]聚合函數 [7]加密函數 [8]自定義函數 ...


×
目錄
[1]字元函數 [2]數值運算符 [3]比較運算符[4]日期時間[5]信息函數[6]聚合函數[7]加密函數[8]自定義函數

前面的話

  mysql資料庫中的函數根據功能可以劃分為字元函數、數值運算符與函數、比較運算符與函數、日期時間函數、信息函數、聚合函數、加密函數以及自定義函數等。下麵將詳細介紹資料庫中的函數

 

字元函數

CONCAT()

  CONCAT()函數用於字元連接

  CONCAT()函數也可用於將一個數據表中的兩個欄位的所有記錄進行字元連接

CONCAT_WS()

  CONCAT_WS()函數使用指定的分隔符進行字元連接,該函數的第一個參數是指定分隔符

FORMAT()

  FORMAT()函數主要用於數字格式化,最終返回一個字元型數字。第一個參數為待格式化的數字,第二個參數為要保留的小數位數 

LOWER()

  LOWER()函數將字元轉換成大寫字母

UPPER()

  UPPER()函數將字元轉換成小寫字母

LEFT()

  LEFT()函數用於獲取左側字元

RIGHT()

  RIGHT()函數用於獲取右側字元

LENGTH()

  LENGTH()函數用於獲取字元串長度

LTRIM()

  LTRIM()函數用於刪除前導空格

RTRIM()

  RTRIM()函數用於刪除後續空格

TRIM()

  TRIM()函數用於刪除前導和後續空格

REPLACE()

  REPLACE()函數用於字元串替換

SUBSTRING()

  SUBSTRING()函數用於字元串截取,第一個參數是開始截取的起始位置,第二個參數是截取的字元數目

  [註意]這裡是從1開始計數的,而不是從0開始的

  如果省略第二個參數,則一直截取到字元串的結尾

[NOT] LIKE

  [NOT] LIKE用於模式匹配,其中%代表0個或多個字元,_代表任意1個字元。返回1表示匹配,0表示不匹配

 

數值運算符

CEIL()

  CEIL()函數主要用於進一取整(向上取整)

 

FLOOR()

  FLOOR()函數主要用於舍一取整(向下取整)

ROUND()

  ROUND()函數主要用於四捨五入,兩個參數分別為浮點數和保留的小數位數

DIV

  DIV主要用於整數除法

MOD

  MOD主要用於取餘數(取模),等同於% ,可以是整數也可以是小數

POWER()

  POWER()函數主要用於冪運算

TRUNCATE()

  TRUNCATE()函數主要用於數字截取,兩個參數分別為數值和截斷到小數點後n位

 

比較運算符

[NOT] BETWEEN...AND...

  [NOT] BETWEEN...AND...表示[不]在範圍之內

[NOT] IN()

  [NOT] IN()表示[不]在列出值範圍內

IS [NOT] NULL

  IS [NOT] NULL表示[不]為空

 

日期時間

NOW()

  NOW()函數返回當前日期和時間

CURDATE()

  CURDATE()函數返回當前日期

CURTIME()

  CURTIME()函數返回當前時間

DATE_ADD()

  DATE_ADD()函數日期變化,可以增加,也可以減少

 DATEDIFF()

  DATEDIFF()函數日期差值,兩個日期的差值

DATE_FORMAT()

  DATE_FORMAT()函數進行日期格式化

 

信息函數

CONNECTION_ID()

  CONNECTION_ID()返回連接ID(線程ID)

DATEBASE()

  DATEBASE()返回當前資料庫名稱

LAST_INSERT_ID()

  LAST_INSERT_ID()返回最後插入記錄的ID,當一次性寫入多條記錄時,函數返回的ID為第一條記錄的ID

USER()

  USER()返回當前用戶

VERSION()

  VERSION()返回版本信息

   

聚合函數

  聚合函數只能用於數據表,不能用於單個數值的計算

  下麵建立一個test數據表用來測試數據

AVG():平均值
COUNT():計數 
MAX():最大值 
MIN():最小值
SUM():求和
 

加密函數

MD5()

  MD5():信息摘要演算法,為以後的Web頁面做準備,儘量使用MD5()

PASSWORD()

  PASSWORD():密碼演算法,通過PASSWORD()修改當前用戶和其他用戶的密碼,修改客戶端自己的密碼

 

自定義函數

  函數可以返回任意類型的值,同樣可以接收這些類型的參數。函數參數和返回值之前沒有必然的聯繫

  [註意]一個函數最多可以有1024個參數

  用戶自定義函數(user-defined function,UDF)是一種對MySQL擴展的途徑,其用法與內置函數相同

  自定義函數的兩個必要條件:1、參數;2、返回值

創建自定義函數

CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body

  關於自定義函數的函數體

  1.函數體可以由合法的SQL語句構成;

  2.函數體可以是簡單的SELECT或INSERT語句;

  3.函數體如果為複合結構則使用BEGIN...END語句;

  4.複合結構可以包含聲明、迴圈、控制結構。

創建不帶參數的自定義函數

CREATE FUNCTION f1() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H點:%i分:%s秒');

創建帶參數的自定義函數

CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) RETURNS FLOAT(10,2) UNSIGNED RETURN  (num1+num2)/2;

  [註意]如果自定義函數存在符合結構的多個語句,函數體要包含在BEGIN...END內,同時,需要通過DELIMITER將預設的結束符 ; 修改成其他符號,如://   $$  ,以免函數由於語句結尾的 ; 號導致中斷

刪除函數

DROP FUNCTION [IF EXISTS] function_name

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 數據類型 JavaScript 是 弱類型 語言,但並不是沒有類型,JavaScript可以識別下麵 7 種不同類型的值: 基本數據類型 Boolean Number String null undefined Symbol Object Array RegExp Date Math ... 可以使 ...
  • 數組: var s = ['a','b','c']; s.forEach(function(ele,index,array){ console.log(ele); }); Map: var map = new Map([[1:'a'],[2:'b'],[3:'c']]); map.forEach(f ...
  • jQuery jQuery判斷頁面元素是否存在:$("#someID").length > 0 AJAX 通過設置window.location.hash值和響應window的onhashchange事件實現ajax支持瀏覽器導航 ...
  • 對於前端人員面試,出現頻率最多也是讓人最頭疼的就是面試官說:“請簡單談一談你對閉包的理解”。對於這一個幾乎快被人問爛的問題,屢屢出現在我們面試或被面試的過程中的原因很簡單--我們一直都在接觸閉包,卻很少去正確地對待它。 因為閉包是因為JS的一些語言特性而形成的,所以在談它之前我們首先要瞭解一下的知識 ...
  • 效果展示:http://hovertree.com/texiao/js/35/數字採用漂亮的糖果皮膚設計效果圖:代碼如下: 轉自:http://hovertree.com/h/bjaf/o0yqj1ly.htm 更多特效: http://www.cnblogs.com/roucheng/p/texi ...
  • 1.執行MR的命令: hadoop jar <jar在linux的路徑> <main方法所在的類的全類名> <參數> 例子: hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://itcast:9000/words /out ...
  • 用Eclipse做一個後臺項目,但是資料庫不想放在本地電腦,於是買了一個騰訊雲伺服器(學生有優惠,挺便宜的),裝上MySQL資料庫,但是測試連接的時候,發現總是連接不是上,但是本地資料庫可以連接,於是上網搜索發現,mysql 資料庫預設的連接只能在本機連接,遠程連接必須授權。 遠程連接許可權配置: 進 ...
  • 1.HDFS shell 1.0查看幫助 hadoop fs -help <cmd> 1.1上傳 hadoop fs -put <linux上文件> <hdfs上的路徑> 1.2查看文件內容 hadoop fs -cat <hdfs上的路徑> 1.3查看文件列表 hadoop fs -ls / 1. ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...