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

推荐订阅源

罗磊的独立博客
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
量子位
博客园 - 三生石上(FineUI控件)
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
Jina AI
Jina AI
L
LangChain Blog
M
MIT News - Artificial intelligence
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学

博客园 - 秋雨飘飘

显示日期的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