SQL 语句进阶

系列文章目录

` 提示:sql server 中高级语句进阶
第一章


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着对sql 数据库了解的越加深入,知道的语法也会也来越多。


提示:以下是本篇文章正文内容,下面案例可供参考

一、sql server 高级语法是什么?

示例:除了基本的insert/update/delete/select sql还有许多高级语法,这里记录在工作过程中用到的例子。

二、常用功能

1.日期

代码如下(示例):

select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

2.时间戳

SQL里面有个DATEADD的函数。时间戳就是一个从1970-01-01 08:00:00到时间的相隔的秒数。所以只要把这个时间戳加上1970-01-01 08:00:00这个时间就可以得到你想要的时间了select DATEADD(second,1268738429 + 8 * 60 * 60,‘1970-01-01 00:00:00’)

注解:北京时间与GMT时间关系

      1.GMT是中央时区,北京在东8区,相差8个小时   

      2.所以北京时间 = GMT时间 + 八小时

代码如下(示例):

SELECT DATEADD(S,1160701488 + 8 * 3600,'1970-01-01 00:00:00') 
--时间戳转换成普通时间
 
SELECT DATEDIFF(S,'1970-01-01 00:00:00', '2006-10-13 09:04:48.000') - 8 * 3600       
--普通时间转换成时间戳

3.当月的第多少天

代码如下(示例):

将获取当前月的第一天
select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()), -1);

select eomonth('20211118');  --返回指定日期当月最后一天
select eomonth('20211118',1)  --返回指定日期下个月的最后一天
select eomonth('20211118',-1)  --返回指定日期上个月的最后一天

select dateadd(day,2,'2004-10-15') --返回指定日期加上2天

select datediff(day,'2004-09-01','2004-09-18') --返回跨两个指定日期的日期和时间边界数

SELECT DATEPART(month, '2004-10-15') --返回指定日期的月份

SELECT datename(weekday, '2004-10-15') --返回指定日期是星期几

select datename(week,'2021-11-18') --返回指定日期是当年的第多少周

select CONVERT(varchar(100),'2021-11-18',130)--日期转字符串



总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值