kae*_*aes 74 t-sql sql-server datetime
我datetime在SQL Server中有一个列,它给我这样的数据10/27/2010 12:57:49 pm,我想查询这个列,但只是让SQL Server返回日月和年 - 例如.2010 10 27或类似的东西.
我应该研究哪些功能?
我应该尝试转换为其他日期数据类型吗?或者只是将其转换为字符串?
Ada*_*Dev 115
看看CONVERT.第3个参数是您要转换为的日期时间样式.
例如
SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format
Run Code Online (Sandbox Code Playgroud)
jab*_*ong 53
试试这个:
print cast(getdate() as date )
Isr*_*ies 13
如果您需要日期格式的结果,您可以使用:
Select Convert(DateTime, Convert(VarChar, GetDate(), 101))
Run Code Online (Sandbox Code Playgroud)
除了CAST和CONVERT之外,如果您使用的是Sql Server 2008,则可以转换为日期类型(或使用该类型开头),然后可以选择再次转换为varchar:
declare @myDate date
set @myDate = getdate()
print cast(@myDate as varchar(10))
Run Code Online (Sandbox Code Playgroud)
输出:
2012-01-17
Run Code Online (Sandbox Code Playgroud)
小智 6
使用SQL Server 2005,我会使用这个:
select replace(convert(char(10),getdate(),102),'.',' ')
Run Code Online (Sandbox Code Playgroud)
结果:2015 03 05
如果你有一个日期时间字段给出这样的结果 2018-03-30 08:43:28.177
建议: 并且您希望将日期时间更改为日期显示为 2018-03-30
cast(YourDateField as Date)
Run Code Online (Sandbox Code Playgroud)
mm/dd/yy 的最短日期格式可以通过以下方式获得:
Select Convert(varchar(8),getdate(),1)
Run Code Online (Sandbox Code Playgroud)