解读sql中获得部分时间的方法_Mssql数据库教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:解读SQL的select语句执行顺序select 语句执行顺序 (7) SELECT (8) DISTINCT (10) TOP_specification select_list (1) FROM left_table (3) join_type JOIN right_table (2) ON join_condition (4) WHERE where_condition (5) GROUP BY group_by_list (6) HAVING having_condition (9) OR
有的时候,我们可能希望按月、按天、按年做一些数据统计,但是,我们实际保存的数据可能是一个很精确的发生时间,可能是到秒。如何根据一个时间之截取其中的一部分就成了问题。有两个解决方法:
最直接的想法利用DatePart或者Year、Month、Day函数
CAST(
(
STR( YEAR( GETDATE() ) ) + ’/’ +
STR( MONTH( GETDATE() ) ) + ’/’ +
STR( DAY( GETDATE() ) )
)
AS DATETIME
)
如果只要年和月,就省掉前面的。
方法二,利用时间计算函数
例如获得月
DateAdd(month, DateDiff(month, 0, Coltime), 0)
原理就是数据库时间值Coltime减掉1900-1-1获得这期间的月份个数,然后再重新加回1900-1-1。
分享:解读4个编写SQL语句需要注意的常识1.尽量不要对列名进行函数处理。而是针对后面的值进行处理 例如wherecol1=-5的效率比where-col1=5的效率要高 因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引 而是要针对所有值进行计算之后才能再比较 2.尽量使用和数剧列一样的值进行操作
相关Mssql数据库教程:
- sql 语句练习与答案
- 深入C++ string.find()函数的用法总结
- SQL Server中删除重复数据的几个方法
- sql删除重复数据的详细方法
- SQL SERVER 2000安装教程图文详解
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸载方法(其他版本类似)
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- Win7系统安装MySQL5.5.21图解教程
- 将DataTable作为存储过程参数的用法实例详解
- 相关链接:
- 教程说明:
Mssql数据库教程-解读sql中获得部分时间的方法。