日期:2014-05-18  浏览次数:20316 次

SQL中存取日期类型的问题
问题是这样的:
我在应用程序(VB.NET)里面输入日期,存入SQL数据库中,我想使用日期类型而不是字符串类型,例如:2012-03-12。
使用日期类型的话,数据库中会自动变为:2012-03-12 00:00:00。就是它自动给你加上了时分秒的东西。
是不是只能是在程序里面筛选,数据库只能存储成这样的格式啊?
程序有的时候只需要时间,有的时候只需要日期。
不知道大家怎么处理这个问题的···

------解决方案--------------------
SQL code
select convert(varchar(10),列名,120)

------解决方案--------------------
可以子啊查询的时候这样处理select convert(varchar(10),col,120)
------解决方案--------------------
探讨
问题是这样的:
我在应用程序(VB.NET)里面输入日期,存入SQL数据库中,我想使用日期类型而不是字符串类型,例如:2012-03-12。
使用日期类型的话,数据库中会自动变为:2012-03-12 00:00:00。就是它自动给你加上了时分秒的东西。
是不是只能是在程序里面筛选,数据库只能存储成这样的格式啊?
程序有的时候只需要时间,有的时候只需要日期。
不知道大家怎么处理这个问题的……

------解决方案--------------------
SQL code
  select cast('2012-03-12' as datetime) 

----------
-----------------------
2012-03-12 00:00:00.000

(1 行受影响)


(1 行受影响)
你还可以在程序里把格式设置成datetime格式。输入字符的时候会自动转的。

------解决方案--------------------
convert(char(10),'2012-03-12',21)
------解决方案--------------------
SQL2008有专门的日期数据类型:Date, 可以不用Datetime