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.mzph.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();这样读还是很方便的当然还有…