Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么';年月日';不在过滤器中工作?_Sql_Amazon Web Services_Amazon Redshift - Fatal编程技术网

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'是新的格式?所以你指定了你想要的格式,这就是结果的格式?这种理解是错误的吗?嗨,乔尔,你能澄清一下上述内容吗?