如题 SQL语句怎么写SQL SQL
解决方案 »
- SQLSERVER镜像
- 用create database创建数据库mydb,如何知道数据库mydb已经存在,完整的SQL语句如何写
- 想起最开始学计算机时候的一个技巧,替换case when 在两个字段中选会最小的办法。
- 偏僻的存储过程问题 @_@ :
- ++++++++用SP创建新表的问题+++++++++
- 不知道这些是什么意思
- 求助:全文索引 创建索引目录时出错(报错为:未安装全文搜索或无法加载某一全文组件。 消息 7609,级别 17,状态 100,第 1 行)
- 求一思路,解决多个活动参加人员的查询
- 在查询时,如何将2列合并成1列??
- 怎样得知服务器目前采用的编码和排序规则?
- 由于数据移动,无法继续以 NOLOCK 方式扫描
- 利用SSDT新建项目做数据挖掘,在选择数据库时数据库下拉菜单是空的
declare @str nvarchar(20)
set @str = '2013-04'
select Convert(datetime,(@str+'-01'), 120)
DECLARE @1 datetime
DECLARE @2 datetime
DECLARE @now varchar(20)
DECLARE @a int
SET @a=4
SET @now='2013-'+CONVERT(CHAR(2),@a)+'-'+'01'
set @1=DATEADD(MONTH,DATEDIFF(MONTH,0,@now),0)
set @2=DATEADD(DD,-1,DATEADD(MONTH,1+DATEDIFF(MONTH,0,@now),0)) select * from dbo.generateTime(@1,@2)/*
date
-----------------------
2013-04-01 00:00:00.000
2013-04-02 00:00:00.000
2013-04-03 00:00:00.000
2013-04-04 00:00:00.000
2013-04-05 00:00:00.000
2013-04-06 00:00:00.000
2013-04-07 00:00:00.000
2013-04-08 00:00:00.000
2013-04-09 00:00:00.000
2013-04-10 00:00:00.000
2013-04-11 00:00:00.000
2013-04-12 00:00:00.000
2013-04-13 00:00:00.000
2013-04-14 00:00:00.000
2013-04-15 00:00:00.000
2013-04-16 00:00:00.000
2013-04-17 00:00:00.000
2013-04-18 00:00:00.000
2013-04-19 00:00:00.000
2013-04-20 00:00:00.000
2013-04-21 00:00:00.000
2013-04-22 00:00:00.000
2013-04-23 00:00:00.000
2013-04-24 00:00:00.000
2013-04-25 00:00:00.000
2013-04-26 00:00:00.000
2013-04-27 00:00:00.000
2013-04-28 00:00:00.000
2013-04-29 00:00:00.000
2013-04-30 00:00:00.000
*/
from (select convert(datetime,'2013-'+'4'+'-01') rq) a
left join
(select * from spt_values where type = 'P') b
on a.rq=a.rq
where dateadd(d,number,rq)<DATEADD(m,1,'2013-'+'4'+'-01')
select dateadd(d,number,rq)
from (select convert(datetime,'2013-'+'4'+'-01') rq) a
,(select * from spt_values where type = 'P') b
where dateadd(d,number,rq)<DATEADD(m,1,'2013-'+'4'+'-01')
declare @now varchar(20)
DECLARE @a int
SET @a=2 ------这里输入月份
SET @now='2013-'+CONVERT(CHAR(2),@a)+'-'+'01'
declare @last nvarchar(100)
SET @last='2013-'+CONVERT(CHAR(2),@a+1)+'-'+'01'
;with tb as (
select cast(@now as datetime) as date1
union all
select date1+1 as date1 from tb where date1<cast( @last as datetime) -1
)
select * from tb