Sql 为什么';年月日';不在过滤器中工作?
为什么下面的任何一个都不起作用Sql 为什么';年月日';不在过滤器中工作?,sql,amazon-web-services,amazon-redshift,Sql,Amazon Web Services,Amazon Redshift,为什么下面的任何一个都不起作用 SELECT TO_CHAR(date '23/08/2020', 'MM/DD/YYYY') SELECT date_trunc('w', date '28/10/2020') 但如果我这样做了,例如,SELECT date\u trunc('w',date'10/28/2020')。我想这和我用红移写日期的方式有关吧?这背后的解释是什么?模式表明月在前,但测试值显然是日在前。您需要模式来匹配数据。如果问题中的字符串是典型的数据,则需要: SELECT TO
SELECT TO_CHAR(date '23/08/2020', 'MM/DD/YYYY')
SELECT date_trunc('w', date '28/10/2020')
但如果我这样做了,例如,
SELECT date\u trunc('w',date'10/28/2020')
。我想这和我用红移写日期的方式有关吧?这背后的解释是什么?模式表明月在前,但测试值显然是日在前。您需要模式来匹配数据。如果问题中的字符串是典型的数据,则需要:
SELECT TO_CHAR(date '23/08/2020', 'DD/MM/YYYY')
模式显示月在前,但测试值显然是日在前。您需要模式来匹配数据。如果问题中的字符串是典型的数据,则需要:
SELECT TO_CHAR(date '23/08/2020', 'DD/MM/YYYY')
它不是有效的SQL。你想做什么?可能需要一个
=
。很抱歉,我更新了以使其更清晰。此非标准日期文字似乎是使用MM/DD/YYYY模式解析的,而您预期的是DD/MM/YYYY。仅供参考,SQL标准仅使用YYYY-MM-DD模式指定日期文字。您好,谢谢您的回复。我不确定我是否完全明白你说的话。你是说我们不能在SELECT中使用DD/MM/YYYY还是在红移中使用WHERE?它的格式必须始终为MM/DD/YYYY?它不是有效的SQL。你想做什么?可能需要一个=
。很抱歉,我更新了以使其更清晰。此非标准日期文字似乎是使用MM/DD/YYYY模式解析的,而您预期的是DD/MM/YYYY。仅供参考,SQL标准仅使用YYYY-MM-DD模式指定日期文字。您好,谢谢您的回复。我不确定我是否完全明白你说的话。你是说我们不能在SELECT中使用DD/MM/YYYY还是在红移中使用WHERE?它的格式必须总是MM/DD/YYYY?我的理解是to_CHAR函数的格式是to_CHAR(timestamp_expression |“format”),其中“format”是新格式?所以你指定了你想要的格式,这就是结果的格式?这种理解不正确吗?嗨,Joel,你能澄清一下上述内容吗?我的理解是to_CHAR函数的形式是to_CHAR(timestamp_expression |'format'),其中'format'是新的格式?所以你指定了你想要的格式,这就是结果的格式?这种理解是错误的吗?嗨,乔尔,你能澄清一下上述内容吗?