0

列がdateあり、それはdatetimewith formatのタイプですYYYY-MM-DD HH:MM:SS.000

私の問題は、日付と時刻の間に単一のスペースがある日付と、日付と時刻の間に2つのスペースがある日付があることです

例えば。

2009-08-20 13:44:12.753
2009-08-20  13:44:12.753

比較しようとすると時間は同じですが、空白のために一致しません。関数を使用してみましたreplace(date, ' ', '')が、これは日時形式を正しく保持しませんAug2020091:44PM

これらの日付を比較して空白を無視し、日時自体には影響を与えないようにするにはどうすればよいですか?

4

1 に答える 1

3

なぜあなたは使わないのですか

replace(date, '  ', ' ') 

つまり、2つの空白を1つに置き換えます

(私のコードからは明らかではありませんが、ここでは疑似です)

 replace(date, '[ ][ ]', '[ ]')  //where [ ] is whitespace.

解決策 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
于 2013-01-04T12:08:44.473 に答える