Teradata 从年月日到年月日的转换

Teradata 从年月日到年月日的转换,teradata,Teradata,谁能告诉我如何将格式为mm/dd/yyyy的字符字段(允许mm和dd字段中的单个数字)转换为“yyyy-mm-dd”。 如果日期无效,我还需要使用“1900-01-01” 我已尝试强制转换为强制转换(字符串_字段为日期格式'YYYY-MM-DD'),但错误为无效日期 谢谢您可以使用JavaScript的原生日期对象 var test = new Date ("05/23/1997"); var out = test.getUTCFullYear()+"-"+padLeft(test.getMon

谁能告诉我如何将格式为mm/dd/yyyy的字符字段(允许mm和dd字段中的单个数字)转换为“yyyy-mm-dd”。 如果日期无效,我还需要使用“1900-01-01”

我已尝试强制转换为强制转换(字符串_字段为日期格式'YYYY-MM-DD'),但错误为无效日期


谢谢

您可以使用JavaScript的原生日期对象

var test = new Date ("05/23/1997");
var out = test.getUTCFullYear()+"-"+padLeft(test.getMonth()+1,2)+"-"+padLeft(test.getDate(),2);

function padLeft(nr, n, str){
    return Array(n-String(nr).length+1).join(str||'0')+nr;
}
pad函数是从中提取的。

在查询中执行此操作(oracle):

在SQL Server中

select left(convert(varchar, cast('01/01/2017' as smalldatetime), 126), 10);
select left(convert(varchar, cast('01/01/2017' as smalldatetime), 126), 10);