用SQL语句计算出给定日期是星期几?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用SQL语句计算出给定日期是星期几?相关的知识,希望对你有一定的参考价值。

方法越多越好

1、首先可以直接用datepart函数,第一个参数设置成weekday就可以了,如下图所示。

2、得到的结果是这一天是这周的第几天,注意星期日是第一天。

3、可以看到去掉星期日就是日期的星期几了,如下图所示。

4、然后在实际使用的时候就可以直接减去1就可以了,如下图所示。

5、另外datepart第二个参数也可以直接放getdate,如下图所示。

6、最后得到的结果也是我们需要的,如下图所示。

参考技术A

1、创建测试表,

create table test_day(id number, v_date date);

2、插入测试数据

insert into test_day 

select level, sysdate-level from dual connect by level < 8; 

3、查询表中记录,select t.*, rowid from test_day t;

4、编写sql,查看表中每条记录日期对应的周几,

参考技术B 上面那位说那么多,就简单一句select DATEPART(WEEKDAY,GETDATE()+@@DATEFIRST-1) --判断当前是日期是星期几,像今天会返回4 select DATEPART(WEEKDAY,convert(datetime,'2012-04-29')+@@DATEFIRST-1) 上面这句就是指定日期的~ 参考技术C select datename(weekday,'2012-05-02')最简单的方法,没有之一 参考技术D 用datename函数就行了,datename(weekday, 日期)

c语言编程题:输入一个日期,计算出该日期是星期几?

c语言编程题:输入一个日期,计算出该日期是星期几?

源代码如下:


/*
* author:X
* date:2021/9/17 18:49
* description:输入一个日期,计算出该日期是星期几?
*/

#include <stdio.h>
int leap(int year);
int main()

    int year, month, day, i;
    int m[12] =  31,28,31,30,31,30,31,31,30,31,30,31 ;
    printf("请输入要判断的年月日(格式如:2021 9 17 年月日之间用空格隔开):");
    while (~scanf("%d %d %d", &year, &month, &day))
    
        if (day < 1 || month < 1 || month > 12 || year < 1 || year>10000|| day > m[month - 1])
        
            printf("%d/%d/%d 是不正确的日期\\n", year, month, day);
            return -1;
        
        if (leap(year))
            m[1] = 29;
        else
            m[1] = 28;
        int sum = 0;
        sum += day;
        for (i = 1; i < month; i++)
            sum += m[i - 1];
        for (i = 1; i < year; i++)
        
            sum += 365;
            if (leap(i))
                sum++;
        
        int  dx = sum % 7;
        if (dx == 0)
            printf("%d/%d/%d 是星期天\\n", year, month, day);
        else if (dx == 1)
            printf("%d/%d/%d 是星期一\\n", year, month, day);
        else if (dx == 2)
            printf("%d/%d/%d 是星期二\\n", year, month, day);
        else if (dx == 3)
            printf("%d/%d/%d 是星期三\\n", year, month, day);
        else if (dx == 4)
            printf("%d/%d/%d 是星期四\\n", year, month, day);
        else if (dx == 5)
            printf("%d/%d/%d 是星期五\\n", year, month, day);
        else if (dx == 6)
            printf("%d/%d/%d 是星期六\\n", year, month, day);
    
    return 0;


int leap(int year)                  //判断是否为闰年

    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
        return 1;
    return 0;

测试结果:

以上是关于用SQL语句计算出给定日期是星期几?的主要内容,如果未能解决你的问题,请参考以下文章

在sql中怎样获得已知日期是星期几

在ACCESS中返回给定日期星期几的植的函数

js中如何根据日期算出星期几

给定日期范围(开始日期和结束日期),我如何计算天数,不包括 .Net 中指定的星期几?

c语言编程题:输入一个日期,计算出该日期是星期几?

c语言编程题:输入一个日期,计算出该日期是星期几?