SQL 函數

来源:http://www.cnblogs.com/jarl/archive/2016/09/21/5892591.html
-Advertisement-
Play Games

sql函數 character函數 String 1.INITCAP 首字母大小 select initcap(address) address from student; select initcap('ni hao') from dual; --dual虛擬表 '數據' 列名-數據 2.LTRI ...


sql函數

character函數  String

1.INITCAP 首字母大小

      select initcap(address) address from student;

      select initcap('ni hao') from dual;   --dual虛擬表  '數據列名-數據

    2.LTRIM 從左往右截取

      select ltrim('ni hao ni', 'ni') from dual;    //hao ni

    3.RTRIM 從右往左截取

      select rtrim(‘hao ni hao', 'hao') from dual;  //hao ni

    4.CONCAT  並置運算符 || 

      select concat(stuNo, concat(' ', name)) from student;

      select stuNo || ' ' || name as info from student;

    5.SUBSTR  subString(str, begin, end)

      select substr('nihao hi helloi', 0, 10) from dual;   --包括第一位是0,也包括第10位

    6.INSTR

      select instr('nihao', 'ni') from dual;

    7.LENGTH

      select length(address) from student;

    8.RPAD

      insert into school values(rpad(88, 8, '0'), '南京大學');

---------------------------------------------------------------------------------------------------------------------------------

重要:   

   9.LOWER

      select lower('HELLO') from dual;

  10.UPPER 

      select upper('hello') from dual;

      String inputEmail = "Bob.wang";  -- 用戶名不區分大小寫

      select * from users where upper(email) = upper(inputEmail);

      select * from student where upper(address) = upper('China Wuxi New Area');

  11.LPAD  --  insert PK 序列sequence

      insert into school values(lpad(88, 8, '0'), '江蘇大學');

      insert into school values('S'||lpad(89, 7, '0'), '江蘇科技大學');

 ---------------------------------------------------------------------------------------------------------------------------------

 數值函數  Math

    1.ABS    絕對值

      select abs(-10) from dual;

    2.CEIL >= 最小整數

      select ceil(-10.1) from dual;

    3.FLOOR  <= 最大整數

      select floor(-10.1) from dual;

    

4.POWER  求冪

      select power(10, 4) from dual;

    5.MOD    取餘

      select mod(-10, 3) from dual;

    6.SQRT   開方

      select sqrt(100) from dual;

    7.TRUNC  直接截取

      select TRUNC(19.99) from dual; 

      select TRUNC(19.99281, 3) from dual;

    8.ROUND  四捨五入

      select round(19.99) from dual;        -- 20

      select round(19.99281, 3) from dual;  -- 19.993

  


 

日期函數

   1.系統時間

      select sysdate from dual;

   2. ADD_MONTHS  

計劃  2014-11-25開始project做兩個月 得出開始日期  結束日期

          select '25-11-14' as "開始時間", add_months('25-11-2014', 2) as "結束時間" from dual;

   3.GREATEST

      select greatest('25-11-14', sysdate) from dual; 

 GREATEST 返回值列表中最大值

              格式: GREATEST(value1, value2, value3, ...)

              含義: 返回value列表最大的值。

                          Value列表必須是相同類型,也可以是一個表的同一行、不同列的值進行比較。

                           value值列表中有一個為NULL,則返回NULL值。

 

   4.LEAST

      select least('25-11-14', sysdate) from dual; 

LEAST 返回值列表中最小值

            格式: LEAST(value1, value2, value3, ...)

            含義: 返回value列表最小的值。

                        value列表必須是相同類型,也可以是一個表的同一行、不同列的值進行比較。

                         value值列表中有一個為NULL,則返回NULL值。

 

   5.LAST_DAY  月份最後一天日期

      select last_day(sysdate) from dual;

   6.MONTHS_BETWEEN返回兩個日期之間的月份數。

      select MONTHS_BETWEEN('25-11-14', sysdate) from dual; 

   

7.NEXT_DAY 下一個星期幾日期  1~7  ~

      select next_day(sysdate, 6) from dual;

   8.ROUND日期中的四捨五入   (上半月;下半月)

      select round(sysdate, 'month') from dual; 

   9.TRUNC  截取

      select trunc(sysdate, 'year') from dual;   //截取到年份 res01-0114

 


 

 
格式化函數

    1.隱式轉換

      此轉換類型中,數據類型將根據SELECT語句中函數的要求自動進行轉換。 

      select add_months('10-10-14', 1) from dual;

      select * from school where schoolcode = '00000088';

      select * from facutly where facutlyNo = 1;   -- 列中數據應為數字的char字元

    2.顯式轉換 

      此轉換類型中,數據類型的轉換通過一些預定義函數完成。轉換函數有:

        日期格式化函數

          TO_DATE 

            insert into student(stuNo, name, birthDate, majorNo) 

                        values('S9722', 'John', to_date('1995-10-10', 'yyyy-mm-dd'), 'M0003');

          TO_CHAR 

            select birthDate from student;

            select to_char(birthDate, 'yyyy-mm-dd') from student;

    

 

 

 

 

 

  3.數值格式化函數

          to_number   -- 列中數據應為數字的char字元

          select to_number(schoolCode) from school where schoolcode = '00000088';

  4. nvl(1, 2)   若值1為空  顯示值2的數據   若值1不為空顯示自身值 

    select stuNo, name, nvl(javasescore, 60) from student;

    

  5Coalesce函數  Coalesce (exp_name1, exp_name2.. exp_n)   若表達式值不為空顯示

    select coalesce('', '', '', '1', 'value') from dual;

 

 


 

 

/*

 * 多行函數 

 *  把多行數據組合為一行

 */

 

 

  1. count 統計 count(*|列名)--列數據為null不參與多行函數操作
  2. select count(*)from student;--有多少學生
  3. select count(javaSEScore)from student;--有多收學生參與考試
  4. select count(*)from student where majorno ='M0001';
  5. sum
  6. select sum(javaSEScore)from student;
  7. select sum(salary)from employee;
  8. avg
  9. select avg(javaSEScore)from student;
  10. max
  11. select max(javaSEScore)from student;
  12. min
  13. select min(javaSEScore)from student;
  14. stddev 偏差
  15. select stddev(javaSEScore)from student;
  16. variance 方差
  17. select variance(javaSEScore)from student;
  18. --select name, count(*)from student
 

 

 

 

 

 

 

 



來自為知筆記(Wiz)




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

-Advertisement-
Play Games
更多相關文章
  • Performance Counter 是量化系統狀態或活動的一個數值,Windows Performance Monitor在一定時間間隔內(預設的取樣間隔是15s)獲取Performance Counter的當前值,並記錄在Data Collections中,通過Performance Moni ...
  • 圖解安裝 PostgreSQL 【博主】反骨仔 【原文地址】http://www.cnblogs.com/liqingwen/p/5894462.html 序 園友的一篇《Asp.Net Core 項目實戰之許可權管理系統(3) 通過EntityFramework Core使用PostgreSQL》需 ...
  • https://www.techonthenet.com/mysql/loops/leave.php This MySQL tutorial explains how to use the LEAVE statement in MySQL with syntax and examples. http ...
  • 本篇文檔是介紹如何快速使用spark,首先將會介紹下spark在shell中的交互api,然後展示下如何使用java,scala,python等語言編寫應用。可以查看 "編程指南" 瞭解更多的內容。 為了良好的閱讀下麵的文檔,最好是結合實際的聯繫。首先需要 "下載spark" ,然後安裝hdfs,可 ...
  • 查到對應的用戶的活動連接: select * from pg_stat_activity where username="xxx"; 殺掉死鎖的連接: select pg_terminate_backend(pid) ...
  • Oracle資料庫用戶數據完整備份與恢復 1.1 PL/SQL->工具->導出用戶對象,選項如圖 常用的用戶對象包括: TABLE,SEQUENCE,VIEW,PACKAGE,TYPE,FUNCTION,PROCEDURE,PACKAGE BODY,TREGGER 1.2 PL/SQL->工具->導 ...
  • 先來描述下情況吧,首先有一批用戶之前批量錄入後預設的密碼為6個8然後進行MD5加密後進行存儲的,現在需要對其更改根據用戶身份證號後6位作為密碼。 1.首先發現我們sqlserver05以上的版本是自帶了MD5加密方法的,然後我們對其驗證其加密後的數據跟用.net自帶的MD5加密方法加密後是否相同。 ...
  • Redis是一個C實現的基於記憶體、可持久化的鍵值對資料庫,在分散式服務中常作為緩存服務。本篇將介紹在CentOS下如何從零開始安裝到配置啟動服務。 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...