如何在SQL查询中设置时间格式

 我来答
SQL的艺术
2018-07-27 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3324

向TA提问 私信TA
展开全部

SQL的时间格式是:YYYY-MM-DD HH:NN:SS.sss

其sss是毫秒,由于计算机内部时钟晶振的问题,SQL时间最小单位为3毫秒。


一般SQL时间格式处理:大都采取转换格式至datetime格式

例如显示时常用到的:

1、将2015转换为当年的第一天:

select cast('2015'+'-1-1' as datetime)

输出结果为:2015-01-01 00:00:00.000


2、将2015-02转换为当年的第一天:

select cast('2015-02'+'-1' as datetime)

输出结果为:2015-02-01 00:00:00.000


其实以上可以总结为将具有一定格式的字符串转换为日期类型,只要将年月日补全,后面的时间会默认为0时0分0秒0毫秒

哎呀……18a91a6
推荐于2017-12-15 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7246
采纳率:76%
帮助的人:3048万
展开全部
--请在下面的代码中选择你需要的。
--注意,将里面的  GETDATE() 代换成你要转化的日期变量。

--最常用的
Select CONVERT(varchar(100), GETDATE(), 120) -- 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121) -- 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 108  -- 10:57:49
Select CONVERT(varchar(100), GETDATE(), 114  -- 10:57:49:547
--其它日期格式化式样
--日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0  -- 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1  -- 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2  -- 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3  -- 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4  -- 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5  -- 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6  -- 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7  -- 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8  -- 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9  -- 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10  -- 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11  -- 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12  -- 060516
Select CONVERT(varchar(100), GETDATE(), 13  -- 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14  -- 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20  -- 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21  -- 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22  -- 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23  -- 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24  -- 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25  -- 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100  -- 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101  -- 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102  -- 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103  -- 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104  -- 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105  -- 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106  -- 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107  -- 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108  -- 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109  -- 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110  -- 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111  -- 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112  -- 20060516
Select CONVERT(varchar(100), GETDATE(), 113  -- 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114  -- 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120  -- 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121  -- 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126  -- 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130  -- 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131  -- 18/04/1427 10:57:49:920AM
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鬼谷子教主
2016-11-18 · TA获得超过2496个赞
知道大有可为答主
回答量:1996
采纳率:88%
帮助的人:573万
展开全部
用CONVERT()函数转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式