学习关于时间在sql里面的对比,用if语句(这个有点特别)

需求:假如当前时间是大于starttime且小于endtime的则按starttime倒序排列显示一条记录;假如当前时间小于starttime且小于endtime则按starttime正序排列显示一条记录。要在一次sql查询中完成。

====这个是论坛里面的,人家给出答案了,我只是学习的.算做个学习笔记,也许以后会用到。怕脑子坏了

 

 SELECT FROM_UNIXTIME( starttime, '%Y年%m月%d日 %H时%i分%s秒' ) AS starttime, FROM_UNIXTIME( endtime, '%Y年%m月%d日 %H时%i分%s秒' ) , if( starttime < UNIX_TIMESTAMP( ) , starttime - UNIX_TIMESTAMP( ) , (
starttime - UNIX_TIMESTAMP( ) ) +20000000
) AS t
FROM test
WHERE endtime > UNIX_TIMESTAMP( )
ORDER BY t ASC
LIMIT 0 , 30 

  

if()函数就是实现这个的关键。
IF(expr1,expr2,expr3) 
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

为true
执行 starttime - UNIX_TIMESTAMP() 按得到的值asc排序这样就得到了“距离现在最近的starttime,也就是刚刚已经开始的”记录列表
为false
执行 (starttime - UNIX_TIMESTAMP())+20000000 
starttime - UNIX_TIMESTAMP()这样得到了 “starttime距离现在最近的,也就是马上将要到来的starttime”记录列表;由于 “未开始记录的”starttime - UNIX_TIMESTAMP() 得到的值可能小于“已开始记录的”starttime - UNIX_TIMESTAMP() 的值,这种情况下排序就混乱了,所以要加上一个很大的值20000000避免这种情况,这样就能保证未开始记录的starttime永远大于已开始记录的starttime值,这样未开始的值记录排在了已开始记录之后了。

 

转载于:https://www.cnblogs.com/xiangxiaodong/archive/2012/12/21/2828609.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超简单的JNI——NDK开发教程

不好意思各位&#xff0c;我按照网上一些教程进行JNI开发&#xff0c;折腾了半天也没成功&#xff0c;最后自己瞎搞搞定了&#xff0c;其实超简单的&#xff0c;网上的教程应该过时了&#xff0c;最新版的AS就包含了NDK编译的功能&#xff0c;完全不用手动javah&#xff0c;各种…

查询工资最低的3名员工的职工工号、姓名和收入_关于工资条,这6个常识必须掌握,事关你的权益!...

大状说&#xff1a;找大状&#xff0c;中小企业自己的法律顾问。今天为大家带来的文章&#xff0c;是《关于工资条&#xff0c;这6个常识必须掌握&#xff0c;事关你的权益&#xff01;》&#xff0c;是关于劳动法的内容&#xff0c;希望能给大家带来帮助。1、单位不发工资条的…

SQL之用户自定义函数

关于SQL Server用户自定义的函数&#xff0c;有标量函数、表值函数&#xff08;内联表值函数、多语句表值函数&#xff09;两种。 题外话&#xff0c;可能有部分朋友不知道SQL Serve用户自定义的函数应该是写在哪里&#xff0c;这里简单提示一下&#xff0c;在Microsoft SQL Se…

vb语言程序设计_如果编程语言难度决定头发浓度,学这语言的可能要光头了

对于程序员来说&#xff0c;头发真的比什么都重要&#xff0c;甚至很多程序员&#xff0c;大量的人民币都花在了后续植发上。甚至网上还流行这么一句话&#xff0c;你发际线越高&#xff0c;编程能力越高&#xff0c;那对于程序员来说&#xff0c;那么多语言&#xff0c;到底哪…

SD Card Formatter for Mac Download

https://www.sdcard.org/downloads/formatter_4/eula_mac/ SDFormatter Mac版是一款Mac OS平台上的sd卡修复工具&#xff0c;SDFormatter是一款比较好用的SD卡格式化工具&#xff0c;能够格式化SD存储卡和SDHC记忆Card&#xff08;SD/SDHC 存储卡&#xff09;&#xff0c;使用遵…

linux删除用户oracle用户名,linux添加用户useradd 删除用户userdel

1.作用useradd或adduser命令用来建立用户帐号和创建用户的起始目录&#xff0c;使用权限是超级用户。2.格式useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name3.主要参数-c&#xff1a;加上备注文字&#xff0c…

Asp.net创建伪静态页面

下面是我研究了好几天和同事一起才研究出来的&#xff0c;原创。 1伪静态的定义&#xff1a; 伪静态是相对真实静态来讲的&#xff0c;通常我们为了增强搜索引擎的友好面&#xff0c;都将文章内容生成静态页面&#xff0c;但是有的朋友为了实时的显示一些信息。或者还想运用动态…

Spring 管理Bean(获取Bean,初始化bean事件,自动匹配ByName······等)

1.实例化spring容器 和 从容器获取Bean对象 实例化Spring容器常用的两种方式&#xff1a; 方法一: 在类路径下寻找配置文件来实例化容器 [推荐使用] ApplicationContext ctx new ClassPathXmlApplicationContext(new String[]{"beans.xml"}); 方法二: 在文件系统路径…

directoryinfo 读取 映射磁盘_LoaRunner性能测试系统学习教程:磁盘监控(5)

上期我们讲到LoaRunner性能测试内存监控&#xff0c;这期我们讲LoaRunner性能测试磁盘监控。磁盘监控在介绍磁盘监控前&#xff0c;先介绍固定磁盘存储管理的性能&#xff0c;固定磁盘存储器的结构层次如图所示。每个单独的磁盘驱动器称为一个物理卷&#xff08;PV&#xff09;…

Eclipse新建web项目正常启动tomcat不报错,但不能访问项目的解决方法

原因: 虽然我手动添加了自己下载的tomcat,但是由于在Eclipse中创建Server时&#xff0c;“Server Locations”选项采用的时默认配置&#xff0c;即"Use workspace metadata(does not modify tomcat installation ),这意味着该Server不会改变TOMCAT的安装及部署目录&#…

wordpress漏洞_WordPress XSS漏洞可能导致远程执行代码(RCE)

原作者&#xff1a; Ziyahan Albeniz在2019年3月13日&#xff0c;专注于静态代码分析软件的RIPS科技公司发布了他们在所有版本的WordPress 5.1.1中发现的跨站点脚本(XSS)漏洞的详细信息。该漏洞已在不同类别的各种网站上公布。有些人将其归类为跨站点请求伪造(CSRF)漏洞&#x…

DJ轮回舞曲网下载教程

该网站网址为&#xff1a;http://www.92cc.com/ 昨天有网友问我这个网站能不能下载。我告诉他&#xff0c;只要能在线试听的就能下载 于是今天出个临时教程 教大家如何获取试听的音乐URL。 第一步找到试听的网址&#xff0c;如&#xff1a; http://www.92cc.com/p97206.html 第…

【DP】【Asia - Harbin - 2010/2011】【Permutation Counting】

【题目描述】Given a permutation a1, a2,...aN of {1, 2,..., N}, we define its E-value as the amount of elements where ai > i. For example, the E-value of permutation {1, 3, 2, 4} is 1, while the E-value of {4, 3, 2, 1} is 2. You are requested to find h…

三丰三坐标编程基本步骤_三丰三坐标CRYSTA APEX S776

日本三丰MITUTOYO从1934年成立至今&#xff0c;专力致于精密测量仪器的研发和生产&#xff0c;在七十多年中&#xff0c;日本三丰量具MITUTOYO已成为世界最大综合测量仪器的制造商&#xff0c;它生产的产品包括千分尺&#xff0c;卡尺&#xff0c;千分表&#xff0c;高度尺&…

Unity3D研究院之Android同步方法读取streamingAssets

版本Unity5.3.3 Android 小米pad1 首先非常感谢 守着阳光 同学在下面的留言。让我解决了一个大的谜团。。 开始我知道 StreamingAssets 路径是这个 path “jar:file://” Application.dataPath “!/assets/”; 文档在这里&#xff1a; http://docs.unity3d.com/Manual/Strea…

Codeforces Round 261 Div.2 D Pashmak and Parmida's problem --树状数组

题意&#xff1a;给出数组A&#xff0c;定义f(l,r,x)为A[]的下标l到r之间&#xff0c;等于x的元素数。i和j符合f(1,i,a[i])>f(j,n,a[j])&#xff0c;求有多少对这样的(i,j). 解法&#xff1a;分别从左到右&#xff0c;由右到左预处理到某个下标为止有多少个数等于该下标&…

列举ospf的5种报文类型_危险品货物各种包装类型以及装箱技巧

对于危险货物来说&#xff0c;其危险性的大小除与货物的本身性质有关外&#xff0c;还与货物的包装方式密切相关。因而&#xff0c;危险货物进箱条件的确定&#xff0c;也必须考虑到货物的包装方法。一、集装箱内径20GP内径&#xff1a;长5.8M*宽2.34M*高2.34M40GP内径&#xf…

Java 数组基础

数组 数组&#xff08;Array&#xff09;&#xff1a;相同类型数据的集合。 定义数组 方式1&#xff08;推荐&#xff0c;更能表明数组类型&#xff09; type[] 变量名 new type[数组中元素的个数]; 比如&#xff1a; int[] a new int[10]; 数组名&#xff0c;也即引用a&…

linux nc命令

参考 :http://www.linuxso.com/command/nc.html NC 全名 Netcat (网络刀)&#xff0c;作者是 Hobbit && ChrisWysopal。因其功能十分强大&#xff0c;体积小巧而出名&#xff0c;又被大家称为“瑞士军刀”。nc - TCP/IP swiss army knife nc 常用于溢出、反向链接、上传…

shell 判断字符串相等_编程小短文:Bash子字符串还在用==?试试=~性能瞬间飙升100倍...

引言Bash 是 Linux 系统下钦定的 shell。你可以通过cat /etc/shells查看当前系统支持的 shell 种类。Bash 不但是系统管理员与内核交互的利器&#xff0c;且是一种语言&#xff0c;可以编写大多数系统的自动化脚本&#xff0c;用于简化运维工作。今天我们学习一个知识点&#x…