SQL:如何比较datetime和空白
我有一个列SQL:如何比较datetime和空白,sql,sql-server,datetime,Sql,Sql Server,Datetime,我有一个列date,它是datetime类型,格式为YYYY-MM-DD HH:MM:SS.000 我的问题是有些日期只有一个空格,而有些日期和时间之间有两个空格 例如 即使在我尝试比较它们时,时间是相同的,但由于空格的原因,它们不匹配。我已尝试使用replace(date,,'')功能,但无法正确保持日期时间格式Aug2020091:44PM 如何比较这些日期以忽略空白,但不影响日期时间本身?为什么不使用 replace(date, ' ', ' ') 我的意思是-把两个空格换成一个 (
date
,它是datetime
类型,格式为YYYY-MM-DD HH:MM:SS.000
我的问题是有些日期只有一个空格,而有些日期和时间之间有两个空格
例如
即使在我尝试比较它们时,时间是相同的,但由于空格的原因,它们不匹配。我已尝试使用replace(date,,'')
功能,但无法正确保持日期时间格式Aug2020091:44PM
如何比较这些日期以忽略空白,但不影响日期时间本身?为什么不使用
replace(date, ' ', ' ')
我的意思是-把两个空格换成一个
(在我的代码中不清楚,但在这里它是伪的)
解决方案#2:
使用以下命令:
SELECT CAST('2009-08-20 13:44:12.753' AS DATETIME) --nevermind the spaces
SELECT CAST('2009-08-20 13:44:12.753' AS DATETIME) --nevermind the spaces
你为什么不用呢?
replace(date, ' ', ' ')
我的意思是-把两个空格换成一个
(在我的代码中不清楚,但在这里它是伪的)
解决方案#2:
使用以下命令:
SELECT CAST('2009-08-20 13:44:12.753' AS DATETIME) --nevermind the spaces
SELECT CAST('2009-08-20 13:44:12.753' AS DATETIME) --nevermind the spaces
您是否尝试过替换(日期“”,“”)?如何获取日期的字符串表示形式?如果列的类型为datetime,则这不是存储它们的方式,而是输出它们的方式。@Kaf:我使用的是sqlserver@HipHipArray如果是日期时间,那么您应该有任何问题。唯一的问题是处理字符串时….
DATETIME
SQL Server中的列没有格式-它们存储为8字节的二进制值。该格式仅在以字符串形式显示这些值时起作用,例如在SSMS或您的应用程序中。因此,比较两个DATETIME
值从来不会有任何空白问题-它只是比较两个(二进制)DATETIME
值您是否尝试replace(date,,'')
?如何获得日期的字符串表示形式?如果列的类型为datetime,则这不是存储它们的方式,而是输出它们的方式。@Kaf:我使用的是sqlserver@HipHipArray如果是日期时间,那么您应该有任何问题。唯一的问题是处理字符串时….DATETIME
SQL Server中的列没有格式-它们存储为8字节的二进制值。该格式仅在以字符串形式显示这些值时起作用,例如在SSMS或您的应用程序中。因此,比较两个DATETIME
值从来不会有任何空白问题-它只是比较两个(二进制)DATETIME
值