Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:如何比较datetime和空白_Sql_Sql Server_Datetime - Fatal编程技术网

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