0
我想這樣做一個char條件:Teradata的:可變
select * from table
WHERE report_date = '31.08.2017'
REPORT_DATE是CHAR變量,我得到我應該如何改變錯誤3535(字符串未能轉換爲數值) 我查詢?
SRY爲noobish問題在任Teradata數據格式'YY/MM/DD'
或ANSI
格式'YYYY-MM-DD'
我想這樣做一個char條件:Teradata的:可變
select * from table
WHERE report_date = '31.08.2017'
REPORT_DATE是CHAR變量,我得到我應該如何改變錯誤3535(字符串未能轉換爲數值) 我查詢?
SRY爲noobish問題在任Teradata數據格式'YY/MM/DD'
或ANSI
格式'YYYY-MM-DD'
Teradata的手柄日期文字。 ANSI DATE
字面格式DATE 'YYYY-MM-DD'
不依賴於格式設置或默認值。
在這種情況下,你正確的查詢會像
SELECT *
FROM TABLE
WHERE report_date = '2017-08-31';
以上將不考慮工作的交易模式,即ANSI/BTET
但是,如果你date
列CHAR
數據類型和數據存儲爲'31.08.2017'
即DD.MM.YYYY
,則需要使用to_date
手動將其轉換爲date
。
SELECT *
FROM TABLE
WHERE to_date(report_date, 'YYYY-MM-DD') = to_date('31.08.2017', 'dd.mm.yyyy')
或右側如下。
select *
from TABLE
WHERE report_date = to_date('31.08.2017', 'dd.mm.yyyy');
,或者使用cast
select *
from table
WHERE cast(report_date as date) = cast('31.08.2017' as date format 'dd.mm.yyyy')
即錯誤指示REPORT_DATE柱具有一個數值數據類型。 – jarlh
Teradata是否有日期數據類型? – jarlh