用SQL语句怎么写时间差

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用SQL语句怎么写时间差相关的知识,希望对你有一定的参考价值。

用SQL语句怎么写两个字段(startdate,enddate都是vch2型)的差值,这两个字段存放的是时间(20070203,20070506),oracle数据库,急急呀
能不能说的具体点呢~~~~~~~~~~
举个实例吧~~~~~~~

select to_date('20070506','yyyymmdd') - to_date('20070203','yyyymmdd') from dual;
这样查询出来是两个时间的差值——以天为单位的,如果需要以小时为单位的,在减法外面加个括号,再乘以24就可以了,其他时间单位的,自己类推。

可以这样直接减,是因为oracle在存储date型时间的时候,内部是使用数字存储的,所以可以直接减,如果是用timestamp型时间,可能不可以直接减
参考技术A select months_between(to_date('20070203','yyyymmdd'),to_date('20070506','yyyymmdd')) from dual;

得到两个日期的月份数
参考技术B datediff函数可以 算出前后两者的时间差别

将SQL查询分析器查询的结果用SQL语句导出到Excel表格的语句怎么写?

如题.

如上图,如何导出?(SQL语句)
简单点的语句就好了
不要复制的

    从SQL数据库中,导出数据到Excel(excel存在),
        insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
     ,'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$)
     select * from bi_t_item_info where item_subno like '%8952%'

    从SQL数据库中,导出数据到Excel(excel不存在),
    ---- 导出查询语句
    EXEC master..xp_cmdshell 'bcp "select * from bi_t_item_info where item_subno like '%8952%'" queryout "c:
    est.xls" /c -/S"服务器名" /U"用户名" -P"密码"'

这样行了吧,你自己稍稍改下服务器名、用户名、密码就行了。

参考技术A copy (你的查询语句) to 'C:/某个文件夹/aaa.xls' delimiter ','
将你的查询结果拷贝到你的excel表中追问

提示"to附近有语法错误",能不能帮我写下完整的代码呢?非常感谢
比如我的查询语句是:select * from subno_info where subno like '%8952%'

追答

copy (select * from subno_info where subno like '%8952%') to '路径' delimiter ','
注意: 拷贝的文件必须放在某一个文件夹下

追问

还是不对哦,请看

追答

 copy (select * from t_tare where tare_no =1) to 'C:/sqldata/tare_outs.txt' delimiter ','

原本表里面有5条数据的,现在筛选到一条啊,你再试试呢,是不是某些地方粗心大意了?

追问

我检查好几遍了,还是不行。我想是不是你用的数据库不是MSSQL吧。我用了易语言的记录集逐条读入算了,还是谢了哈

本回答被提问者采纳

以上是关于用SQL语句怎么写时间差的主要内容,如果未能解决你的问题,请参考以下文章

7天内活跃用户SQL 语句 怎么写 在线等

用sql语言怎么写,从数据库中提取一个时间与当前时间做差,将差值小于某个数的条目提取出来

多表关联UPDATE语句怎么写呀?

用sql语句更新一条记录,如果不存在就插入,怎么写?

数据库中我想要批量插入数据SQL语句怎么写。

sql语句判断时间区间的问题