sqlserver中子类,在sql语言中子查询

MYSQL,SQLserver中DATE的问题

对日期的格式化主要是java.text.DateFormat和java.text.SimpleDateFormat,前者是抽象类,后者是实现类

创新互联建站-专业网站定制、快速模板网站建设、高性价比长清网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式长清网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖长清地区。费用合理售后完善,10余年实体公司更值得信赖。

一般要对日期进行格式化使用如下方式

Date date=new Date();

DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");

String str=dateFormat.format(date);//将日期以“年-月-日”的方式转成字符串

Date newDate=dateFormat.parse(str);//将字符串以“年-月-日”的方式解析成日期

数据库中取日期一般有3种方式

resultSet.getDate(1)//只取日期

resultSet.getTime(1)//只取时间

resultSet.getTimestamp(1)//取日期和时间

java.sql.Date与java.util.Date的关系是继承关系

java.util.Date是父类

java.sql.Date是子类

根据Java多态原则,从数据库中取出可以直接将sql.Date赋给util.Date

存入则不行,一般使用new java.sql.Date(new java.util.Date().getTime());

java.sql.Date没有无参构造,只有一个带long型的构造,传入的是1970-1-1 00:00:00开始到当前时间的毫秒数,可以用java.util.Date的getTime方法获取

一条sql语句顺序查询出父类的所有子类 如下图:用的是sql Server 2008

SQL 2005及以上可以使用CTE实现递归。

with tmp (ID,Name,ParentID,Level,HierarchyCode)

as(

select ID,Name,ParentID,1,convert(varchar,convert(varchar,ParentID)+'-'+convert(varchar,ID))

from 表名 where ParentId=0  --已知根节点是0

UNION ALL

select a.ID,a.Name,a.ParentID,Level+1,convert(varchar,HierarchyCode+'-'+convert(varchar,a.ID))

from 表名 a inner join tmp b on a.ParentID=b.ID

)

select * from tmp order by HierarchyCode

结果如下:

如何只用sql语句查询一个类别下面所有子类包含的信息?

Sql Server 2000因为你这里说了只有三级分类,所以我就不写Sql函数了,得到华北下面所有子类别的ClassID(不包括华北的ClassID)select ClassID from Newclass where classParentID in (select ClassID from Newclass where classParentID=51)

根据类别ClassID表查询新闻select * from News where ClassID in (select ClassID from Newclass where classParentID in (select ClassID from Newclass where classParentID=51))

ok了


网页名称:sqlserver中子类,在sql语言中子查询
转载来源:http://ybzwz.com/article/phecdg.html