如何從teradata timestamp(6)字段中搜索例如'2013-10-22'的特定日期?查詢返回teradata timestamp中的特定日期(6)
sel * from table A
where date = '2013-10-22';
我試着上面的查詢是拋出錯誤。請幫忙!
如何從teradata timestamp(6)字段中搜索例如'2013-10-22'的特定日期?查詢返回teradata timestamp中的特定日期(6)
sel * from table A
where date = '2013-10-22';
我試着上面的查詢是拋出錯誤。請幫忙!
更正式的:
select *
from table A
where cast(timestamp_column as date) = date '2013-10-22';
我猜你只是在展示一個例子,因爲我不認爲你可以有一個名爲date
的列;這是一個保留字。上面的關鍵字「date」是您如何具體指定ANSI日期常數並且與「日期」功能無關。
意想不到的是:你甚至不需要做CAST。當時間戳與日期比較時,它會自動轉換爲日期。我不知道這是否基於標準SQL,但是當我調查了一個應該找到的錯誤時,我發現在手冊中定義了這個錯誤。 – dnoeth
在where子句中使用函數會降低生產速度。如果您將該功能應用於索引字段,這會被放大。 –
@dnoeth是的,我有點記住,但我討厭編寫使用默認轉換的代碼。爲什麼我總是在日期字符串前使用'date'修飾符。它並不是真的需要,但是它讓我更清楚發生了什麼事情。 – BellevueBob
這也很有用。謝謝 – RRR
@RRR: - 不客氣。如果這有助於你,請接受這個答案! –
我能否也知道如何僅使用時間戳中的日期進行分組? – RRR