对不同的数据类型使用COALESCE?

Don*_*n P 2 sql postgresql coalesce type-conversion

我有一个查询COALESCE(timestamp_type::date,charachter_varying)因数据类型不匹配而失败:

错误:COALESCE类型的日期和字符变化无法匹配

如果我将时间戳转换为text

COALESCE(timestamp_type::text,charachter_varying)

不过,现在我只在需要时返回完整时间戳YYYY-MM-DD(而不是完整时间戳YYYY-MM-DD HH:MM:SS.000000+00

如何使用COALESCE 仅返回时间戳的日期部分?

Gur*_*ngh 5

您可以使用to_char使用适当的格式掩码来转换时间戳:

COALESCE(to_char(timestamp_type, 'YYYY-MM-DD'), varchar_col)
Run Code Online (Sandbox Code Playgroud)