初学者必读:精讲SQL中的时间计算语句_MySQL
问:请问,如何计算一个表中的周起始和截止日期并写到表字段中? 我要从一个表向另一个表导入数据,并进行转换,用的是VB 。
我现在有有一个表 主要字段有
time_id int
time_date datetime
year int
week_of_year int
day nvarhar
想要转换成另外一张表
time_id int
time_date datetime
year int
week_of_year nvarchar
原来的表内容是
--------------------
1 2003-07-09 2003 20 星期日
1 2003-07-10 2003 20 星期一
1 2003-07-11 2003 20 星期二
想要变成
--------------------
1 07/09/2003 2003 第20周(7/9-7/17)
1 07/10/2003 2003 第20周(7/9-7/17)
1 07/11/2003 2003 第20周(7/9-7/17)
请问:这个语句应该怎么去写?
答:
if object_id('tablename') is not null drop table tablename
select 1 as time_id, '2003-07-09' as time_date, 2003 as [year], 20 as week_of_year, '星期日' as [day]
into tablename
union select 1, '2003-07-10', 2003, 20, '星期一'
union select 1, '2003-07-11', 2003, 20, '星期二'
------------------------------------------------
select time_id, time_date, [year], '第' + cast(week_of_year as varchar(2)) + '周('
+ cast(month(week_begin) as varchar(2)) + '/' + cast(day(week_begin) as varchar(2)) + '-'
+ cast(month(week_end) as varchar(2)) + '/' + cast(day(week_end) as varchar(2)) as week_of_year
from (select *, dateadd(day, 1 - datepart(weekday, time_date), time_date) as week_begin,
dateadd(day, 7 - datepart(weekday, time_date), time_date) as week_end from tablename) a
/*
time_id time_date year week_of_year
1 2003-07-09 2003 第20周(7/6-7/12)
1 2003-07-10 2003 第20周(7/6-7/12)
1 2003-07-11 2003 第20周(7/6-7/12)
*/
------------------------------------------------
drop table tablename
问题虽然解决了,但这个例子并不具备通用性,还是个案,所以我们分析了你的代码,发现一个问题:日期范围是如何确定的?所以,我们把它延伸发散到:能否自主设定日期的范围呢?比如设定到星期一或星期天开始:
思路:
SET DATEFIRST
将一周的第一天设置为从 1 到 7 之间的一个数字。
语法
SET DATEFIRST { number | @number_var }
参数
number | @number_var
是一个整数,表示一周的第一天,可以是下列值中的一个。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











초보자부터 전문가까지: 다섯 가지 필수 C 컴파일러 권장 사항 컴퓨터 과학이 발전하면서 점점 더 많은 사람들이 프로그래밍 언어에 관심을 가지게 되었습니다. C 언어는 시스템 수준 프로그래밍에서 널리 사용되는 고급 언어로서 프로그래머들에게 항상 사랑받아 왔습니다. 효율적이고 안정적인 코드를 작성하기 위해서는 자신에게 맞는 C언어 컴파일러를 선택하는 것이 중요합니다. 이 기사에서는 초보자와 전문가가 선택할 수 있는 다섯 가지 필수 C 언어 컴파일러를 소개합니다. GNU 컴파일러 컬렉션인 GCCGCC는 가장 일반적으로 사용되는 C 언어 컴파일러 중 하나입니다.

C++와 Python 중 어느 것이 초보자에게 더 적합합니까? 전 세계를 휩쓸고 있는 정보기술 시대에 프로그래밍 능력은 필수 능력이 되었습니다. 프로그래밍을 배우는 과정에서 적합한 프로그래밍 언어를 선택하는 것은 특히 중요합니다. 많은 프로그래밍 언어 중에서 C++와 Python은 초보자에게 인기 있는 두 가지 언어입니다. 그렇다면 C++ 또는 Python 중 어느 것이 초보자에게 더 적합합니까? 다음은 다양한 측면에서 두 언어의 장단점을 비교하고, 프로그래밍을 시작하는 초보자에게 특정 언어를 선택하는 것이 더 도움이 되는 이유를 설명합니다.

이제 WooCommerce 제품 및 관련 설정에 대해 배웠으므로 WooCommerce 세금 구성 옵션을 살펴보겠습니다. 세금 설정 온라인 상점 소유자로서 귀하는 세금 규정 및 문제를 어지럽히고 싶지 않습니다. WooCommerce는 국가 및 개별 매장 요구 사항에 따라 달라질 수 있는 모든 세금 설정을 해결할 수 있는 다양한 옵션을 제공하여 이를 지원합니다. 이러한 옵션은 WooCommerce->설정->세금에서 찾을 수 있습니다. 세금 설정 탭에 들어가면 세 가지 세금 등급이 있는 기본 세금 설정 섹션이 표시됩니다. 세금 옵션 표준 세율 감면 이자율 제로 이자율 세금

초보자 가이드: Pandas를 사용하여 HTML 표 형식 데이터를 읽는 방법 소개: Pandas는 데이터 처리 및 분석을 위한 강력한 Python 라이브러리입니다. 유연한 데이터 구조와 데이터 분석 도구를 제공하여 데이터 처리를 더욱 간단하고 효율적으로 만듭니다. Pandas는 CSV, Excel 및 기타 형식의 데이터를 처리할 수 있을 뿐만 아니라 HTML 테이블 데이터를 직접 읽을 수도 있습니다. 이 기사에서는 Pandas 라이브러리를 사용하여 HTML 테이블 데이터를 읽는 방법을 소개하고 초보자에게 도움이 되는 특정 코드 예제를 제공합니다.

초보자에게 적절한 Django 버전을 선택하는 것은 중요하고 반드시 직면해야 할 문제입니다. 효율적인 웹 프레임워크인 Django에는 수많은 사용자와 개발자가 있으므로 다양한 제품과 애플리케이션의 요구 사항을 충족할 수 있는 여러 버전도 있습니다. 하지만 프로젝트 요구 사항에 따라 올바른 Django 버전을 어떻게 선택합니까? 아래에서는 귀하에게 적합한 버전을 선택하는 데 도움이 되는 몇 가지 예를 사용하겠습니다. Django가 사용하는 데이터베이스가 MySQL, Postgre를 포함한 여러 데이터베이스를 지원하는지 확인하세요.

Linux 초보자를 위한 필독서: gz 형식 파일의 압축을 푸는 방법을 쉽게 배웁니다. Linux 시스템에서는 다양한 형식의 압축 파일을 접하는 경우가 많으며 그중 .gz 형식이 가장 일반적입니다. 이 기사에서는 초보자가 빠르게 시작할 수 있도록 Linux 시스템에서 .gz 형식 파일의 압축을 푸는 방법을 간략하게 소개합니다. 우선, Linux 시스템에서 .gz 형식 파일의 압축 해제는 일반적으로 명령줄 도구를 사용하여 수행됩니다. 가장 일반적으로 사용되는 명령은 gzip입니다. 다음은 특정 코드 예제를 포함하여 .gz 파일의 압축을 푸는 몇 가지 일반적인 방법을 소개합니다.

초보자에게 필수: Python에서 람다 함수의 기본 사용법을 익히려면 특정 코드 예제가 필요합니다. 개요: Python은 간결하고 유연한 구문으로 많은 프로그래머를 매료시켰습니다. Python에서 람다 함수는 이름을 지정하지 않고 함수가 필요한 곳에 직접 정의할 수 있는 특별한 익명 함수입니다. 이 기사에서는 람다 함수의 기본 사용법을 소개하고 초보자가 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공합니다.

제목: 프로그래밍 초보자는 C 언어를 먼저 배워야 할까요, 아니면 C++를 배워야 할까요? 프로그래밍 분야에서 C 언어와 C++는 두 가지 매우 중요한 프로그래밍 언어이며 각각 고유한 특성과 장점을 가지고 있습니다. 초보자에게는 어떤 언어를 배울지 선택하는 것이 다소 혼란스러울 수 있습니다. 이 기사에서는 이 문제에 대해 논의하고 초보자가 두 언어 간의 차이점을 더 잘 이해할 수 있도록 몇 가지 구체적인 코드 예제를 제공합니다. 먼저 C언어부터 살펴보겠습니다. C 언어는 강력하고 널리 사용되는 프로그래밍 언어입니다. 어셈블리 언어에서 개발되었습니다.
