mysql语句中日期函数和日期的加减运算

一、秒数和时钟格式的互相转化

SEC_TO_TIME(seconds) 
返回seconds参数,变换成小时、分钟和秒,值以‘HH:MM:SS‘或HHMMSS格式化,取决于函数是在一个字符串还是在数字。
select SEC_TO_TIME(73200); 
-> ‘20:20:00‘ 

select TIME_TO_SEC(1220);

-> ‘00:20:20‘
mysql> select SEC_TO_TIME(73200) + 0; 
-> 202000.000000

TIME_TO_SEC(time)

返回time参数,转换成秒。

select TIME_TO_SEC(‘00:20:20‘);

->1220

select TIME_TO_SEC(‘20:20‘);

->73200

二、UNIX_TIMESTAMP 和 FROM_UNIXTIME

UNIX_TIMESTAMP(date) 
如果没有参数调用,返回一个Unix时间戳记(从‘1970-01-01 00:00:00‘GMT开始的秒数)。如果UNIX_TIMESTAMP()用一
个date参数被调用,它返回从‘1970-01-01 00:00:00‘ GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME
字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。 
select UNIX_TIMESTAMP(); 
-> 1462503488
select UNIX_TIMESTAMP(‘2016-5-8 12:30:52‘); 
-> 1462681852
当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。 

FROM_UNIXTIME(unix_timestamp) 
以‘YYYY-MM-DD HH:MM:SS‘或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串
还是或数字上下文中被使用。 
select FROM_UNIXTIME(1462681852); 
-> ‘2016-5-8 12:30:52‘ 
select FROM_UNIXTIME(1462681852) + 0; 
-> 20160506105808.000000

FROM_UNIXTIME(unix_timestamp,format) 
返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条
目同样的修饰符。 

select FROM_UNIXTIME(UNIX_TIMESTAMP(),‘%Y%m%d %h%i%s %x‘); 

-> ‘20160506 110443 2016‘

select FROM_UNIXTIME(UNIX_TIMESTAMP(),‘%Y%D%M %h:%i:%s %x‘);

-> ‘20166thMay 11:21:35 2016‘

三、CURTIME() 和 NOW()

CURRENT_TIME 
以‘HH:MM:SS‘或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。 
mysql> select CURTIME(); 
-> ‘11:24:47‘ 
mysql> select CURTIME() + 0; 
-> 112522.000000

SYSDATE() 
CURRENT_TIMESTAMP 
以‘YYYY-MM-DD HH:MM:SS‘或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用。 
select NOW(); 
-> ‘2016-05-06 11:25:55‘ 

select SYSDATE();

select CURRENT_TIMESTAMP();

-> ‘2016-05-06 11:25:55‘ 
mysql> select NOW() + 0; 
-> 20160506112611.000000

时间: 2024-09-30 10:25:03

mysql语句中日期函数和日期的加减运算的相关文章

SQL语句中DateAdd 函数说明

实践例子: 将借阅表中所有记录的归还日期加15天: 执行前情况: 执行后情况如下: update 借阅 set 归还日期=DateAdd ("D",15,归还日期) [详细讲解:] 返回 返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔. 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: interval 必要.字符串表达式,是所要加上去的时间间隔. number 必要.数值表达式,是要加上的

在mysql语句中为什么要加反引号

在MySQL语句中我们有时候经常会遇到反引号(``),刚开始的时候不知道什么意思,他是什么作用呢? Select * from `member` order by posts desc limit 0,10; 它是为了区分MYSQL的保留字与普通字符而引入的符号. 举个例子:SELECT `select` FROM `test` WHERE select='字段值' 在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为

mysql语句中使用like后面的%(百分号)的问题

问题:mysql语句中使用like后面的%(百分号) 是不是越多运行效率越慢! 总用时:0.0489秒 0.0691 0.0485 0.0467 SELECT `goods_name`, `goods_img`, `sku_id`, `import` FROM `goods` WHERE `goods_name` LIKE '%iPhone%iPod%' AND `stime` < 1413877244 AND `etime` > 1413877244 ORDER BY `flag` DESC

MySQL注入中load_file()函数的应用

常用的一些Load_File()函数攻击手法: MySQL注入中load_file()函数的应用

MySql语句中select可以嵌套么,字段的重命名可以用中文么

今天文档中看到的查询语句,SELECT后面又跟了一个SELECT嵌套,而且把字段重命名为中文,请问可以这样做么 MySql语句中select可以嵌套么,字段的重命名可以用中文么 >> mysql 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/mysql/1010000007432443/MySql语句中select可以嵌套么字段的重命名可以用中文么.html

mysql中日期函数和日期的加减运算

mysql日期运算,日期函数 DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, --7=星期六).这些索引值对应于ODBC标准. mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回date的星期索引(0=星期一,1=星期二, --6= 星期天). mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> selec

sql的基础语句-单行函数,dual,数字函数,日期函数,表连接,集合运算,分组报表,单行子查询,多行子查询

3. 单行函数 3.1 转换函数 select ascii('A'),chr(65) from dual; select to_char(1243123),1231451 from dual;靠左边的就是字符串,靠右边的就是数字 select to_char(123512a121) from dual;   --错误的写法,没有引号表示数字,但是数字里面包含了字母,不合法的输入值 select to_number('123141211') from dual; select to_number(

mysql日期加减运算

MySQL 日期类型MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------  ---------   --------------------- ----------------------------------------- datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~

SQLServer 日期函数及日期转换数据类型

一.统计语句 1.--统计当前[>当天00点以后的数据] SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY dateandtime DESC 2.--统计本周 SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0 3.--统计本月 SELECT * FROM 表 WHERE

关于SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如下面的方法来处理: SELECT COALESCE(SUM(name),0) FROM person WHERE id > 0   行了,这下就不用费事去处理返回结果是否为NULL的情况了. COALESCE 函数的意思是返回参数列表中第一个为空的值,该方法允许传入多个参数,该函数也是SQL中的标准