如何将日期时间格式转换为SQL Server中的字符串

时间:2017-10-17 05:10:49

标签: sql sql-server datetime casting varchar

我正在努力为以下问题找到解决方案。

date1 = 31-08-2017 12:10:00

我想把它作为字符串投射,需要单独拍摄日期(31-08-2017)。

这是我的SQL语句:

select * 
from table_name  
where cast(date1 as varchar) = '2017-08-30'

在这里' 2017-08-30'是字符串;当我运行上面的select命令时,它显示o记录为date1为varchar,但时间也包括在内。

有谁能告诉我如何将日期列单独拆分为字符串?

3 个答案:

答案 0 :(得分:0)

这将对您有所帮助: -

select * from table_name  WHERE CONVERT(varchar(23), [YourDateColumn], 121)= '2017-08-30 00:00:00.000'

以上将接受日期和时间

如果您只想使用日期,请尝试以下方法: -

   select * from table_name  WHERE CONVERT(varchar(10), [YourDateColumn], 20)= '2017-08-30 00:00:00.000'

答案 1 :(得分:0)

如果您的date1类型为DateTime,请尝试此操作

select * 
from table_name  
where CAST(date1 AS DATE) = CAST('2017-08-30' AS DATE)

答案 2 :(得分:0)

这会对你有帮助。

select * 
from table_name   
Where CONVERT(VARCHAR(100),date1,102) = '2017.08.30'

date1是列名值= '30-08-2017 12:10:00'

输出为30-08-2017