在SQL SERVER中获取空间之前的所有字符

在SQL SERVER中获取空间之前的所有字符,sql,sql-server,Sql,Sql Server,我试图在空间之前获得所有字符: SUBSTRING(reporttime,1,CHARINDEX(reporttime,' ',1)) 但它不起作用。请帮忙 示例数据: 7/8/2010 11:47 AM 7/8/2010 10:55 AM 实际上,如果这些是日期时间值,那么有更好的方法: Select Cast(DateDiff(d, 0, MyDateColumn) As datetime) 要从DateTime值中获取日期,我发现最好的代码行可以去除时间值并根据您的需求进行修改: C

我试图在空间之前获得所有字符:

SUBSTRING(reporttime,1,CHARINDEX(reporttime,' ',1))
但它不起作用。请帮忙

示例数据:

7/8/2010 11:47 AM
7/8/2010 10:55 AM
实际上,如果这些是日期时间值,那么有更好的方法:

Select Cast(DateDiff(d, 0, MyDateColumn) As datetime)

要从DateTime值中获取日期,我发现最好的代码行可以去除时间值并根据您的需求进行修改:

CONVERT(NVARCHAR(10), reporttime, 103)
这将显示2010年8月7日

CONVERT(NVARCHAR(10), reporttime, 103)