sql查询时间

okh_g 2012-08-31 08:54:42
列1:2012-08-31 00:00:00.000
请问我如何写查询列1时间后几位为 00:00:00.000 的语句
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雪祭2012 2012-08-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

SQL code

select right(convert(varchar(33),'2012-08-31 00:00:00.000',120),12) as col1
/*
00:00:00.000
*/
[/Quote]
修改如下:

DECLARE @x TABLE (TIME NVARCHAR(30))
INSERT INTO @x
( TIME )
SELECT '2012-08-30 00:00:00.000' UNION ALL
SELECT '2012-08-25 00:00:00.000' UNION ALL
SELECT '2012-08-31 10:00:00.000' UNION ALL
SELECT '2012-08-31 05:00:00.000' UNION ALL
SELECT '2012-08-31 14:00:00.000'
--SELECT * FROM @x
SELECT time FROM (SELECT time,right(convert(varchar(33),time,120),12) AS w FROM @x) x
WHERE w='00:00:00.000'
  • 打赏
  • 举报
回复

select cast(convert(varchar(10),time as datetime)
sql2015 2012-08-31
  • 打赏
  • 举报
回复

select convert(varchar(30),cast(CAST(time字段 as DATE) as datetime),121)
SQL77 2012-08-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
对不起可能我写的不太明白是这样的
列名:time
2012-08-31 00:00:00.000
2012-07-23 23:59:59.000
2012-08-31 23:59:59.000
2012-06-15 00:00:00.000
我要得到
2012-08-31 00:00:00.000
2012-06-15 00:00:00.000
[/Quote]
CONVERT(DATETIME,CONVERT(VARCHAR(10),TIME,120))
okh_g 2012-08-31
  • 打赏
  • 举报
回复
对不起可能我写的不太明白是这样的
列名:time
2012-08-31 00:00:00.000
2012-07-23 23:59:59.000
2012-08-31 23:59:59.000
2012-06-15 00:00:00.000
我要得到
2012-08-31 00:00:00.000
2012-06-15 00:00:00.000
  • 打赏
  • 举报
回复

select right(convert(varchar(33),'2012-08-31 00:00:00.000',120),12) as col1
/*
00:00:00.000
*/
SQL77 2012-08-31
  • 打赏
  • 举报
回复
SELECT STUFF(CONVERT(VARCHAR(19),COL1,120),1,11,'')

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧