惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
L
LangChain Blog
C
Check Point Blog
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
美团技术团队
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog
G
Google Developers Blog
The Cloudflare Blog
P
Proofpoint News Feed

博客园 - 秋雨飘飘

显示日期的javascript日历 Iframe的基础应用——关于Iframe刷页问题的两种方法 关于left join的讨论 往表中允许为null的字段插入null值 - 秋雨飘飘 - 博客园 sql查询最大最小值 SQL Server CHARINDEX和PATINDEX详解 sql行列转换 sql语句优化的一些测试函数 存储过程的作用是自动生成编号 数据库管理常用SQL SQL Server 中多行多列连接成为单行单列 T-SQL 编程规范和优化技巧 (转)SQL Server 索引结构及其使用 动态查询SQL中变量的返回值 存储过程的编写经验 求薪水第三高的雇员的SQL题(图解) 表连接的比较left join/right join/inner join sql 视图 如何提升checkbox的用户体验
sql 日期函数之对于周的处理
秋雨飘飘 · 2007-07-11 · via 博客园 - 秋雨飘飘

SELECT 
/* 
* 输出格式: x年x周
* 如:200621
*/


Convert(varchar(4),intYear) +           /* 先将intYear列转成字符型 */
case when len(intWeek)=1               /* 判断intWeek列的长度是否为1 */
 
then 
  
'0' + Convert(varchar(1),intWeek)   /* intWeek列为1位数字时转化成两位字符,最前面补0 */
  
else 
  
Convert(varchar(2),intWeek)           /* 如果是两位则直接转成字符 */
end 
as allYearWeek,                                  /* 给列取别名allYearWeek */

/* 
* 输出格式: xxxx年xx周
* 如:2006年21周
*/

Convert(varchar(4),intYear) + '' +
case when len(intWeek)=1
 
then
  
'0'+ Convert(varchar(1),intWeek) 
 
else
  
Convert(varchar(2),intWeek) 
end
 
+ '' as DesYearWeek ,

/* 
* 输出格式:x月x日~x月x日
* 如: 05.22~05.28
 
*/

right(replace(strWeekBeginDate,'-','.'),5+   /* 先把替换为".",然后再取右边5位 */
'' + 
right(replace(strWeekEndDate,'-','.'),5)
as DesDate

FROM V_GetAllWeeks order by intYear Desc, intWeek Desc

输出结果:

allYearWeek      DesYearWeek               DesDate
200621                2006年21周                  05.2205.28
200620                2006年20周                  05.1505.21
200619                2006年19周                  05.0805.14
200618                2006年18周                  05.0105.07
200617                2006年17周                  04.2404.30
200616                2006年16周                  04.1704.23
200615                2006年15周                  04.1004.16
200614                2006年14周                  04.0304.09
200613                2006年13周                  03.2704.02
200612                2006年12周                  03.2003.26