sql日期表
A. sql查询日期时间问题
应该是这样写的吧:
SELECT CASE WHEN W.[Time2] = 0 THEN W.[Time1]
WHEN W.[Time2] > 0 AND W.[Time2] <= 0.5 THEN W.[Time1] + 0.5
ELSE W.[Time1] + 1 END AS [Time]
FROM (
SELECT CAST(CAST(DATEDIFF(minute, W.[Date1], W.[Date2]) AS DECIMAL(18, 2))/60 AS INT) AS [Time1]
,CAST(DATEDIFF(minute, W.[Date1], W.[Date2]) AS DECIMAL(18, 2))/60 - CAST(CAST(DATEDIFF(minute, W.[Date1], W.[Date2]) AS DECIMAL(18, 2))/60 AS INT) AS [Time2]
FROM (
SELECT CAST(b + ' ' + c AS DATETIME) AS [Date1]
,CAST(d + ' ' + e AS DATETIME) AS [Date2]
) W
) W
由于时间匆忙,我没有测试,请验证!
B. SQL建表日期有问题
如果是mssqlserver,把open和close用[]括起来就行了,用下面的代码,建议你用decimal(18,4)等替换decimal,因为如果decimal后面没有指定参数的话,默认的按照decimal(18,0)创建的(如果我没记错的话),那就没有意义了。
createtabletable33(Datedate,[Open]decimal,Highdecimal,Lowdecimal,[Close]decimal,Volumeint,Adj_Closedecimal)
createtabletable33(Datedate,[Open]decimal(18,4),Highdecimal,Lowdecimal,[Close]decimal,Volumeint,Adj_Closedecimal)如果不是mssqlserver,试试用""括起来,因为标准sql是用""括起来的,你也可以查查相应数据库的“分隔标识符”。
C. SQL如何写计划开工日期表减去2天跳过周末
周六是
datepart(week,getdate())=6
周日是
datepart(week,getdate())=7
利用此函数避开取值为6,7的日子即可
D. sql server 2000创建表日期时间类型 的语句
在sqlserver中,日期类型字符字段是datetime;
举例:
create
table
tablename(Createtime
datetime)
;
解释:
上面语句就是创建了一个tablename表,字段Createtime
为日期类型。
E. sql日期统计,我有一个表, 日期字段为(riqi),软件上要加个报表,语句我是这样写的
上半年 datediff (year,riqi,getdate())=0 and datediff(month,riqi,'20xx-06-01')>=0
下半年 datediff (year,riqi,getdate())=0 and datediff(month,riqi,'20xx-06-01')<0
月 datediff (year,riqi,getdate())=0 and datediff(month,riqi,'20xx-06-01')=0
按照你的思路,不知道对你有没有帮助
F. 怎么用SQL语句把两个日期间的所有日期列出一个列表
这个委实有点难度,看你是什么数据库了。
如果不指定数据库的话,作为通用解决方案:
可以考虑 用一个日历表 ,每天一条记录,这样 你从这个表中 就可以 查询出来了。
G. sql中引用日期变量
declare@suffixvarchar(1000)
declare@sqlvarchar(2000)--这里定义了一个变量
select@suffix=CONVERT(varchar(100),GETDATE(),112)
set@sql='select*fromtest_'+@suffix+''--需要指定动态sql
exec(@sql)--这句是执行
H. sql 日期排序问题 求助
select t1.tdate,sum(case when nvl(t2.bqynse, 0) != 0 then t2.bqynse else 0 end) as benjinAmt
from
(select to_char(to_date('20130401','yyyymmdd') +rownum-1,'yyyymmdd') as tdate from all_objects where rownum<=30) t1
left join
tbl_csys_bill_ret_dtl t2
on t1.tdate=t2.pay_date
and t2.pay_date>='20130401'
group by t2.pay_date
这样试验一下,我用的是all_objects ,你可以找一个条数足够多的表名来弄日期
I. SQL中学期时间表一般用什么字段表示
sql有个日期转换函数select
convert(varchar(100),
getdate(),
23)--:
=2006-05-16
可惜没有带中文的这种,最简单的方法就是保存还是这样保存,在查询时进行一下替换,第一个-替换成年,第二个替换成月,最后面加上日字
J. SQL如何得到日期
为什么不用datatime数据类型呢,只要一列就能存放年月日时分秒,而且使用也很方便。
你如果一定要使用三列,要获得当前的日期,可以这样
YEAR(GETDATE()) --这是年
MONTH(GETDATE()) --月
DAY(GETDATE()) --日
还有另一种表示法DATEPART函数,格式DATEPART ( datepart , date )如
DATEPART(year,GETDATE())
DATEPART(month,GETDATE())
DATEPART(day,GETDATE()) --前三个等价于上面三个
DATEPART(weekday,GETDATE())
另外datepart参数还可以为
quarter
dayofyear
week
hour
minute
second
millisecond