--SQL 查询所有表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
SELECT FROM INFORMATION_SCHEMATABLES
--查询表的所有字段名:
SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )
SELECT FROM INFORMATION_SCHEMATABLES
SELECT FROM INFORMATION_SCHEMAVIEWS
SELECT FROM INFORMATION_SCHEMACOLUMNS
---------以下为其他数据库查询表----------
--ORACLE 查看所有表名:
SELECT TABLE_NAME FROM USER_TABLES
--ACCESS 查看所有表名:
SELECT NAME FROM MSYSOBJECTS WHERE TYPE=1 AND FLAGS=0
--MSYSOBJECTS 是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。
1、SQL在查询当天记录时要注意是从当天的0点0分0秒0毫秒开始,到次日0点0分0秒0毫秒截止,但不包含次日的0点0分0秒0毫秒。
2、注意:在不同数据库产品中,获得当天日期的函数不一样。
MSSQL获得当前日期:convert(varchar(10),Getdate(),120)
MYSQL获得当前日期:date(now())
Oracle获得当前日期:to_char(sysdate,'yyyy-mm-dd')
Access获得当前日期:date()
3、在各个数据库里获得当天的记录写法为(假设表名为:Table_1,日期列名为:date_col):
MSSQL获得当天记录:
select from table_1 where date_col>=convert(varchar(10),Getdate(),120) and date_col<convert(varchar(10),dateadd(d,1,Getdate()),120)MYSQL获得当天记录:
select from table_1 where date_col>=date(now()) and date_col<DATE_ADD(date(now()),INTERVAL 1 DAY)Oracle获得当天记录:
select from table_1 where date_col>=to_char(sysdate,'yyyy-mm-dd') and date_col<to_char(sysdate+1,'yyyy-mm-dd')Access获得当天记录:
select from table_1 where date_col>=date() and date_col<DateAdd("d",1,date())4、另外,在查询的时候,尽量不要对列进行运算,因为日期列上若有索引,就无法使用索引了。
思路是利用到期时间和未来的10天比较,如果小于未来十天最大的日期,说明是10天内要到期了。因为你的时间格式是时间戳,所以要转换下格式
select from dqtx where DATE_FORMAT(riqi,'%Y-%m-%d')<=DATE_add(CURDATE(),INTERVAL 10 day);
以上就是关于SQL数据库 查询方法全部的内容,包括:SQL数据库 查询方法、sql查询当天记录、sql查询语句:10天内到期数量 怎么写 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)