在一年中的12个月内,从每个月随机选择一个日期,不包括周六和周日



如何在一个月内随机选择一个日期,一年中有12个月,不包括周六和周日?(最后,我应该有12个日期,每个月1个(。T-SQL和Oracle都需要它。请帮帮我。

试试这个对于oracle

with tst as (
Select level as mnth 
from dual connect by level <= 12
)
select to_date(floor(DBMS_Random.Value(1,to_char(last_day(to_date(mnth, 'mm')), 'dd')))||'-'||mnth, 'dd-mm') dt 
from tst
with tst as (
Select level as mnth from dual connect by level <= 12
)
select to_date(floor(DBMS_Random.Value(1,to_char(last_day(to_date(mnth||'-'||2017, 'mm-yyyy')), 'dd')))||'-'||mnth||'-'||2017, 'dd-mm-yyyy') t from tst

查询1-针对当前年度查询2-指定年份

对于t-sql,您可以通过更改正确的函数而不是to_date、to_char、随机来尝试使用此查询

最新更新