mysql添加字符串日期時間_mysql學習筆記--- 字符串函數、日期時間函數

一、常見字符串函數:1、CHAR_LENGTH? 獲取長度(字符為單位)

2、FORMAT? 格式化

3、INSERT? 替換的方式插入

4、INSTR? 獲取位置

5、LEFT/RIGHT? 取左、取右

6、LENGTH?? 獲取長度(字節為單位)

7、LTRIM/RTRIM/TRIM 去空格(左/右/自定義)

8、STRCMP? 字符串比較

9、CONCAT? 字符串拼接

10、SUBSTRING? 字符串截取

1、CHAR_LENGTH:獲取長度(字符為單位)CHAR_LENGTH()

解釋:返回值為字符串str的長度,計算的單位為字符(一個中文也算一個字符)

舉例:

171118025296548.png

如果是查詢已知表格里的字段長度,可以這樣寫:

171118384665836.png

2、FORMAT:FORMAT(X,D)

解釋:將數字X的格式寫為'#,###,###.##',以四舍五入的方式保留小數點后D位,并將結果以字符串的形式返回。若D為0, 則返回結果不帶有小數點,或不含小數部分。

舉例:

171120084515111.png

3、INSERT:替換的方式插入(,pos,,newstr)

解釋:返回字符串str,從原str的pos位置開始,用字符串newstr來替換,替換的長度為len。

如果pos超過字符串長度,則返回值為原始字符串。假如len的長度超過后面字符串的長度,則從位置pos開始替換到字符串的結尾即可。

四個參數中若任何一個參數為的值為null,則整個函數的返回值為NULL。

舉例:將smyh001替換為smyh002

171121364984946.png

4、INSTR:查找子字符串的位置INSTR(,substr)

解釋:返回字符串str中首次出現子字符串substr的位置。

舉例:

171123146699787.png

171123211381211.png

537fcb74-25d2-4f34-ba23-e13e72139a13.png

5、LEFT/RIGHT:字符串截取左截取:(,)

解釋:返回字符串str中,從左邊開始算起的,前len個字符。右截取:(,)

解釋:返回字符串str中,從右邊開始算起的,前len個字符。

6、LENGTH:求字符串長度(以字節為單位)LENGTH()

解釋:返回值為字符串str的長度,單位為字節。一個多字節字符算作多字節。這意味著對于一個包含五個2字節字符的字符串,LENGTH()的返回值為10,而CHAR_LENGTH()的返回值則為5。

注:GBK ?編碼中,一個中文字符是2個字節。

UTF-8編碼中,一個中文字符是3個字節,一個英文字符是2個字節。

7、LTRIM/RTRIM/TRIM 去空格(左/右/自定義):去掉左邊的空格:()

解釋:返回字符串str,其引導空格字符被刪除。去掉中間的空格:()

解釋:返回字符串str,其結尾空格字符被刪除。自定義去空格:TRIM(?)

注:大括號和中括號里面的參數為可選項,如果全部都加上的話,默認為參數both。

解釋:將原字符串str去掉空格返回。只去開頭(leading)的空格,只去結尾(trailng)的空格,或者同時去掉(both)開頭和結尾的空格都行。若分類符BOTH、LEADIN或TRAILING中沒有一個是給定的,則假設為BOTH。TRIM(?)

解釋:remstr關鍵字的作用是去掉指定字符。 即所有包含remstr的前綴和/或后綴將被刪除。未指定情況下,即刪除空格。

官方文檔的舉例:

171226500291907.png

8、STRCMP:判斷字符串是否相等STRCMP(expr1,expr2)

解釋:判斷兩個字符串是否相等。若所有的字符串均相同,則返回0;若根據當前分類次序,第一個參數小于第二個,則返回-1;其它情況返回1。功能和比較器類似。

注:字符串的大小是按照ANSI編碼來比較的。

舉例:

171228089985548.png

9、CONCAT:字符串拼接CONCAT(str1,str2,...)

解釋:返回結果為連將str1、str2···拼接之后產生的字符串。如有任何一個參數為NULL ,則返回值為 NULL。括號里可能有一個或多個參數。

如果所有參數均為非二進制字符串,則結果為非二進制字符串。如果自變量中含有任意一個二進制字符串,則結果為一個二進制字符串。一個數字參數將自動轉化為與之相等的二進制字符串格式。

若要避免這種情況二進制的情況出現,可使用顯式類型 cast(str),將二進制的字符串轉換為非二進制字符串。例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col)

舉例:(navicat編輯器會自動將二進制字符串轉換為非二進制字符串)

171229172638825.png

10、SUBSTRING:字符串截取SUBSTRING(str,pos)SUBSTRING(str?FROM?pos)SUBSTRING(str,pos,len)SUBSTRING(str?FROM?pos?FOR?len)

解釋:不帶有len 參數的格式從字符串str返回一個子字符串,起始于位置 pos。帶有len參數的格式從字符串str返回一個長度同len字符相同的子字符串,起始于位置 pos。

使用FROM的格式為標準SQL語法。

也可能對pos使用一個負值。假若這樣,則子字符串的位置起始于字符串結尾的pos字符(也就是說,pos為正時,從左邊算起;pos為負時,從右邊算起)。

官方文檔舉例如下:

171230503109798.png

二、常見日期時間函數:1、DAYOFWEEK、 DAYOFYEAR、DAYOFMONTH

2、WEEKDAY

3、YEAR、QUARTER、MONTH、

4、HOUR、MINUTE、SECOND

5、TO DAYS、FROM DAYS

6、CURDATE、CURTIME、NOW?? 獲取當前時間

1、DAYOFWEEK、 DAYOFYEAR、DAYOFMONTH求星期幾:(一周中的第幾天)DAYOFWEEK(date)

解釋:返回date(1=周日,2=周一, ...,7=周六)對應的工作日索引。即:date對應的范圍是1至7。求一年中的某天是第幾天:(一年中的第幾天)DAYOFYEAR(date)

返回date對應的一年中的天數,范圍是從1到366。求一個月中的某天是第幾天:(一個月的第幾天)DAYOFMONTH(date)

返回date對應的該月日期,范圍是從1到31。注:DAY(date) 和DAYOFMONTH(date)的含義相同。

舉例:

171233128269493.png

171233282013097.png

171233437949399.png

171233578885259.png

2、WEEKDAY:求星期幾:(一周的第幾天)WEEKDAY(date)

解釋:返回date(0 = 周一, 1 = 周二, ... 6 = 周日)對應的工作日索引。即:date對應的范圍是0至6。

注:DAYOFWEEK(date)和WEEKDAY(date)的功能相同,唯一的區別在于date對應的取值范圍。

3、?YEAR、QUARTER、MONTH求年份:(date)

解釋:返回date對應的年份,范圍是從1000到9999。求季度:QUARTER(date)

解釋:返回date對應的一年中的季度值,范圍是從1到4。求月份:(該月是一年當中的第幾個月)MONTH(date)

解釋:返回date 對應的月份,范圍是從1到12。

舉例:

171236186076769.png

171236376389254.png

4、HOUR、MINUTE、SECOND求小時:HOUR(time)

解釋:返回time 對應的小時數。對于日時值的返回值范圍是從0到23 。求分鐘:MINUTE(time)

解釋:返回time對應的分鐘數,范圍是從0到59。求秒數:SECOND(time)

解釋:返回time對應的秒數,范圍是從0到59。

舉例:

171237580292896.png

171238240446648.png

171238509822785.png

5、TO_DAYS、FROM_DAYS求某日期,一共經歷了多少天:(歷史長河中)TO_DAYS(date)

解釋:給定一個日期date, 返回一個天數 (從年份0開始的天數 )。求歷史長河中的第某天,的日期:FROM_DAYS(N)

解釋:給定一個天數 N, 返回一個DATE值。

使用FROM_DAYS()處理古老日期時,務必謹慎,他不用于處理陽歷出現前的天數(1582)。

6、CURDATE、CURTIME、NOW求當前的年月日:CURDATE()

解釋:將當前日期按照'YYYY-MM-DD'或YYYYMMDD格式的值返回,具體格式根據函數用在字符串或是數字語境中而定。

舉例:

171240402941690.png求當前的時分秒:CURTIME()

解釋:將當前時間以'HH:MM:SS'或HHMMSS的格式返回,具體格式根據函數用在字符串或是數字語境中而定。

舉例:

171241140296150.png求當前的年月日、時分秒:NOW()

舉例:

171241430601914.png

注:如果now是放在語句當中,要看具體字段的格式要求。比如說,如果是放在date字段中,則只顯示年月日;如果是放在datetime字段中,則同時顯示年月日和時分秒。

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

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

相關文章

Android異常和工具使用筆記

Android異常和工具使用筆記 1、r文件找不到去你的工程目錄下,手動的把gen刪掉,然后去project中刷新一下,在編譯看看。以前遇到過類似的問題,實在不行就把你的eclispe,adt升級到最新的版本吧 抓住那么一點點線索,就要去…

ADO.NET 核心對象簡介

ADO.NET ADO.NET是.NET中一組用于和數據源進行交互的面向對象類庫,提供了數據訪問的高層接口。 ADO.NET類庫在System.Data命名空間內,根據我們訪問的不同數據庫選擇命名空間,System.Data.SqlClient。 ADO.NET類最重要的優點是支持數據庫以斷開…

MongoDB與Spring Data項目

如今,我們所有人都在觀察NoSql解決方案的爆炸式增長。 我已經習慣了RDBMS,但這些并不是您可能遇到的所有挑戰的解決方案。 根據最近的經驗,我有機會使用MongoDB –文檔數據庫。 在本文中,我打算介紹將MongoDB與Spring Data項目一起…

java轉換為字符串_java – 如何從int轉換為字符串?

正常方式是Integer.toString(i)或String.valueOf(i)。串聯將工作,但它是非常規的,可能是一個難聞的氣味,因為它暗示作者不知道上述兩種方法(他們不知道什么?)。Java在使用字符串(見the documentation)時對操作符提供了特殊的支持&…

簡學LINGO(三)——實例篇

1. 裝配線平衡模型 一個裝配線含有一系列的工作站。在終于產品的加工過程中每一個工作站運行一種或者是幾種特定的任務。裝配線周期是指全部工作站完畢分配給他們各自任務所花費時間的最大值。平衡裝配線的目標是為每一個工作站分配加工任務。盡可能使每一個工作站運行同樣數量…

Hibernate緩存級別教程

開始使用Hibernate的人們常見的問題之一就是性能,如果您沒有太多的Hibernate經驗,您會發現應用程序變慢的速度。 如果啟用sql跟蹤,您將看到有多少查詢被發送到數據庫,而這些查詢幾乎不需要Hibernate知識就可以避免。 在當前文章中…

java方法執行的時間_計算Java中任意一個方法的執行時間的工具類

1 packagealgorithm.study.utils;23 importjava.lang.reflect.Method;45 /**6 * This class is getting a method execute time and provide some other functions.7 *8 *authorygh 2017年2月24日9 */10 public classMethodExecuteTimeUtils {1112 /**13 * Get a method execut…

如何在 IIS 中設置 HTTPS 服務

Windows Server2008、IIS7啟用CA認證及證書制作完整過程 這篇文章介紹了如何安裝證書申請工具; 如何在iis創建證書申請; 如何使用iis申請證書生成的txt文件,在工具中開始申請證書; 如何導出證書; 以及在網站中開始使用…

Android之衛星菜單的實現

衛星菜單是現在一個非常受歡迎的“控件”,很多Android程序員都趨之若鶩,預覽如下圖。傳統的衛星菜單是用Animation實現的,需要大量的代碼,而且算法極多,一不小心就要通宵Debug。本帖貼出用屬性動畫Animator來實現衛星菜…

Java中的WADL:溫和的介紹

WADL( Web應用程序描述語言 )對REST而言,WSDL對SOAP而言。 這種語言的僅僅存在引起了很多爭議(請參閱: 我們需要WADL嗎? 或者 需要 WADL還是不需要WADL )。 我可以想到使用WADL的一些合法用例&a…

類成員函數模板特化

//類成員函數模板特化 #include <stdio.h> class A{ public:template <class T>void Print(){printf("A template\n");} };template<> void A::Print<int>(){printf("int\n"); }int main(){A a;a.Print<double>();a.Print&l…

為云量身定制您的服務

相信大家都聽說過Amazon的AWS。作為業內最為成熟的云服務提供商&#xff0c;其運行規模&#xff0c;穩定性&#xff0c;安全性都已經經過了市場的考驗。時至今日&#xff0c;越來越多的應用被部署在了AWS之上。這其中不乏Zynga及Netflix這樣著名的服務。 然而這一切并沒有停滯不…

在Vaadin和JSF之間選擇

隨著最新版本的Primefaces 3.0的發布&#xff0c;JSF終于達到了前所未有的成熟度和實用性&#xff0c;使其與其他流行的Rich Internet Applications&#xff08;RIA&#xff09;選項如Google Web Toolkit&#xff08;GWT&#xff09;&#xff0c;ExtJS&#xff0c;Vaadin&#…

20145202馬超《信息安全系統設計基礎》實驗二總結

[實驗二]&#xff08;http://www.cnblogs.com/nizaikanwoma/p/6131778.html&#xff09; 轉載于:https://www.cnblogs.com/tuolemi/p/6131987.html

java 連接ldap_ldap java 連接demo

public class LDAPHelper {/*** LDAP可以理解為一個多級目錄&#xff0c;這里&#xff0c;表示要連接到那個具體的目錄*/private final String baseDn "ouPeople,dcchangyeyi,dccom";private LdapContext ctx null;private final Control[] connCtls null;private…

flask開發restful api系列(1)

在此之前&#xff0c;向大家說明的是&#xff0c;我們整個框架用的是flask sqlalchemy redis。如果沒有開發過web&#xff0c;還是先去學習一下&#xff0c;這邊只是介紹如果從開發web轉換到開發移動端。如果flask還不是很熟悉&#xff0c;我建議先到這個網站簡單學習一下&am…

Apache Commons Lang StringUtils

因此&#xff0c;認為最好談論我喜歡的另一個Java庫。 它已經存在了一段時間&#xff0c;也許不是最令人興奮的庫&#xff0c;但是它非常有用。 我可能每天都使用它。 org.apache.commons.lang.StringUtils StringUtils是Apache Commons Lang&#xff08; http://commons.apac…

JEE7:展望新時代

計劃于2012年下半年發布的Java EE 7預計的JSR都已啟動并正在運行。 Java EE 7發行版是日期驅動的&#xff0c;它將反映該行業遷移到云中時不斷變化的需求&#xff1a;任何未準備就緒的內容將推遲到Java EE 8中使用 。 這是Java EE 7平臺中不同規范的關鍵功能的更新和摘要。 1。…

Cocos2d-JS項目之UI界面的優化

測試環境&#xff1a; iphone4、iOS6.1.2、chrome 37.2062.60&#xff0c;Cocos2d-js 3.6 之前寫了不少&#xff0c;實際項目也按這個去優化了&#xff0c;也有效果&#xff0c;但到最后才發現&#xff0c;尼瑪&#xff0c;之前都搞錯了&#xff0c;之所以有效果是歪打正著。。…

java數_java大數

java大數還是很好用的&#xff01;基本加入&#xff1a;import java.math.BigInteger;import jave.math.BigDecimal;分別是大數和大浮點數。首先讀入可以用&#xff1a;Scanner input new Scanner(System.in);BigInteger a input.nextBigInteger();這樣讀還是很方便的當然還有…