扯淡思维

统计某个时间点前的数据,比如我有10W条数据,包括加班的数据,但我要统计下午5:00前的数据。你第一时间想到的是什么方法呢?

表:tableA

表示时间的字段名称:alltime,字段类型为nvarchar()或者datetime,smalldatetime

以简单的smalldatetiem为例吧:

select *
from tableA
where alltime<‘[0-9][0-9][0-9][0-9][0-9][0-9]-0-9][0-9]17‘

上面这语句看上去符合逻辑,我用通配符匹配到每年的每月每天的17点,也就是小于17点的所有行了。

实际上结果是不对的,我后来想到了,就是因为匹配了每年的每月每天,所以不可能有那个时间比每年最小年份最小月份最小天的17点小的了(得出的结果应该是你定义的字段类型时间范围内最小的年月日的0点到17点之间,smalldatetime的日期范围从1900年1月1日到2079年6月6日,结果应该是1900年1月1日17点前的数据)。

select *
from tableA
where datepart(hh,alltime)<‘17‘

SQL Server 提供了返回日期的部分的函数,就是datepart()。

nvarchar类型的保存的日期,格式类似:2014-01-09 15:23:09

直接用datepart也没问题,应该是nvarchar隐式转化为datetime类型了。

当然也可以用substring取空格和第一个’:’之间的那个数值

select *
from tableA
where substring(alltime,charindex(‘ ‘,alltime)+1,CHARINDEX(‘:‘,alltime)-charindex(‘ ‘,alltime)-1)<‘17‘

以上都不考虑性能,where条件中执行运算肯定对性能有影响;如果某个需求你技术都没法实现,考虑性能纯粹是扯淡。

思维比技术重要,当然前提是要有技术基础,要不思维应该也无从谈起。有思维再查是否有相关的技术。

有时想想挺好玩的,有datepart函数,也有在语法中写datepart的,比如datediff()的语法:

DATEDIFF(datepart,startdate,enddate)

这里的datepart就是yy,mm,hh之类的。

datepart字面意思就是日期的部分,date和part两个单词的组合。虽然是相同的单词组合,意义不同,以前我看见datediff函数的语法,还搞不明白,为毛是datepart啊?

扯淡思维,布布扣,bubuko.com

时间: 2024-08-09 02:20:25

扯淡思维的相关文章

【转载】阎焱:90后创业是扯淡 大量O2O和P2P公司濒临倒闭

真正创业成功的大部分是年龄在30岁到38岁之间,很多90后基本什么都不懂.从历史来看,在这样的人口大国,集体性行为,无论是政治的还是经济的,基本都是导致灾难性后果. 10月14日消息,赛富基金创始首席合伙人阎焱日前在香港出席一场活动时表示,互联网行业现在大规模的说假话,做投资人20年的历史上还是第一次见到. 阎焱说,当前一个现实情况是,创业者融资2000万,对外宣称融资2000万美元,不少投资人曾呼吁大家说真话,如今整个互联网行业风向还是大家都在说假话,且假话越说越大. 阎焱表示,“在中国互联网

无锡美新赵阳:创业18年,一辈子做好一家企业(创业是一种生活方式;为了赚钱而创业,那是扯淡”。最重要的是做自己喜欢做的事情)

会议室的门开了,赵阳大步迈了进来,带着一身的仆仆风尘——助理说,他才和客户谈好业务便匆匆往回赶——这场景,仿佛和七年前重叠起来. 那年,无锡日报记者采访了创新创业人物.身为美新半导体董事长兼CEO的赵阳;如今,还是在高新区新辉环路2号,还是那个头衔,我们的话题却有了更多的延展性. 一晃,当年北大物理系高才生.后赴美国普林斯顿大学攻读物理和电子工程并师从诺奖得主DanielTsui教授获电子工程博士学位的赵阳,在无锡创业已有18年;他带领的美新,也由零起步成长为全球仅有的同时具备 MEMS传感器和

html5吹牛扯淡篇,闲话内容。

09年提出对媒体查询的草案,到今天的广泛运用,w3c带我们走进了个性化定制的殿堂.这些之所以会被认可会被写进世界级标准,因为他越来越适应广大用户的需求,需求就像一条锁链带动或者牵引整个互联网开发工作.我们一次次的更新和验证新的东西,也充满了对这个设计殿堂的遐想,本就是一张纸,老旧年代的报纸设计延续到今天的电子书籍,变样式却不变本质,这也不算是创新吧,只能是延续发展,现在越来越多的开发人员加入其中,欲求拓宽外延,也有很多如我一般的门外汉,踏着他们的足迹,一次次看着他们摔倒再站,无可厚非的是进去和求

一只后腿引发的扯淡

早晨看到一位朋友发了条朋友圈,"软件工程所有手段方法工具应该是用来提高开发效率,测试应该是加速开发进度,而不是拖后腿",说起这位朋友就牛逼了,美籍华人,在硅谷混迹多年,资深的架构师,目前在BCGDV做研发team 的顾问,和美国的好多工程师接触下来,忽然发现好多计划,设计和实现都太乐观化,不知道是太顺了还是本该如此,好迷惑,借此话题谈谈我对测试的认识,下方可能高能,阅读需谨慎-拍砖请随意 首先我们追本溯源一下,大家想一想,测试的目的是什么?测试的价值是什么?测试的核心是什么? 书本上曾

百度掉出BAT?扯淡前先知道啥是带路党(《越界》连载2)

你认识路当然不需要地图,但问题是在互联网上,就算你是骨灰级网民,也需要带路党.百度就是带路党 这两天,一篇题为百度掉出BAT序列的文章很火,火到我也不知道这玩意为啥那么吸引眼球.因为很标题党,很扯淡,正好我<越界--互联网+时代必先搞懂的大败局>连载到百度历史,不妨摘出来,让大家先看看百度怎么成为网民伟哥的吧. 文/张书乐 <越界--互联网+时代必先搞懂的大败局>连载之一 2010年3月,当时百度在中国最大的竞争对手谷歌以频受黑客攻击为由,关闭了谷歌中国的域名google.cn,并

罗辑思维 140 认钱不认人(刚需是扯淡,一切都是稀缺,人生全是选择)——理性永远都是最珍贵的

18分左右: 1. 刚需是扯淡,包括生命(罗胖举了许多例子)(拒绝选择,拒绝选择带来的代价)2. 一切都是稀缺3. 人生全是选择要承担选择的后果 房价限制不了,市场是一个联通体系,捂住这个口,那就回那个口出来.毁掉房价:1.轰炸 2.限制租金 https://www.youtube.com/watch?v=Oxe757tCimA

HDU 4930 Fighting the Landlords(扯淡模拟题)

Fighting the Landlords 大意: 斗地主....   分别给出两把手牌,肯定都合法.每张牌大小顺序是Y (i.e. colored Joker) > X (i.e. Black & White Joker) > 2 > A (Ace) > K (King) > Q (Queen) > J (Jack) > T (10) > 9 > 8 > 7 > 6 > 5 > 4 > 3. 给你8种组合:1.

【玩转微信公众平台之一】序章(纯粹扯淡)

昨天是我的生日,为了庆祝这一伟大的节日,我决定写个微信公众平台开发的系列教程.看到这里有些人肯定迫不及待的要在下面的评论里写上"祝博主生日快乐"之类的祝福,其实我觉得大可不必,历经沧桑的我对这些形式的东西看轻了许多,我只想说:能不能把钱打到我的支付宝里??! ------------------------- 年初开始接触微信公众平台,那时主要是为了给我姐的服装店搞个订阅号.现在的水平也还是很一般.趁还没将所学的知识忘光,赶紧将还记得的东西写到博客里来. 公众平台是什么大家应该都懂,我

扯淡过滤器之乱码篇

在JavaWeb开发中,Servlet过滤器可以很方便地帮助开发者做很多重复的事情,比如说这里要和大家分享的乱码问题.其实说起乱码自己也没有什么经验可谈,只是东拼西凑来出来的一些代码,这里说过滤器是一方面,另一方面还有其中用到的一些思想上的东西. 乱码产生的原因说来说去就一句话,编码和解码用的码表不同造成.但是要弄清楚这其中的原理,怕是自己也不清楚,只好扬长避短.Web开发中的乱码就发生在服务器和浏览器之间,这样根据乱码的作用者可以分为请求参数乱码和响应内容乱码,响应乱码容易解决,只要respo