【问题标题】:Get only weekend data records from a database?只从数据库中获取周末数据记录?
【发布时间】:2021-06-13 02:48:15
【问题描述】:

我正在尝试获取周末发生的交易记录(逐月分析),并且我正在尝试编写 SQL 查询来获取周末记录。我有一列的日期为 YYYY-MM-DD 格式。

【问题讨论】:

  • 显示一些示例数据、预期结果和您的尝试。
  • 您说明使用的格式。但是 DATETIME 数据类型没有格式,它们是二进制数据类型。这是否意味着你很擅长将日期作为字符串??
  • 这是我的第一个 stackoverflow 问题,但请记住这些,我的查询得到的答案 :)

标签: sql database teradata teradata-sql-assistant


【解决方案1】:

我希望你有周六和周日的行使用

WHERE DAYNUMBER_OF_WEEK (columnname) in (6, 7) 

或者,也许

WHERE DAYNUMBER_OF_WEEK (columnname) in (1, 7) 

【讨论】:

  • 我认为这可以根据数据库设置进行更改,因此必须测试您的数据库使用的是哪个数据库,如果它是 6,7 或 1,7,就像上面一样,所以必须弄清楚您的数据库正在使用什么。您也可以强制它使用什么,请参见此处:stackoverflow.com/questions/20031802/…
  • 非常感谢!
【解决方案2】:

如果是 Teradata,您可以为此使用 sys_calendar.calendar(以及更多)。

select
...
from
<your table>
join sys_calendar.calendar
on <your table>.<date_column> = calendar.calendar_date
and day_of week in (7,1)

还有td_day_of_week(&lt;date&gt;)函数。

【讨论】:

  • 非常感谢!
猜你喜欢
  • 2011-05-29
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多