首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

MSSQL数据库的时间格式如何来的

2012-03-30 
MSSQL数据库的时间格式怎么来的?MSSQL的datetime格式一定是“2012-01-04 13:06:31.000”吗?哪里查看数据库的

MSSQL数据库的时间格式怎么来的?
MSSQL的datetime格式一定是“2012-01-04 13:06:31.000”吗?哪里查看数据库的时间格式和修改?

我写的程序在我这边跑是OK的,但到客户那边就报时间溢出
“SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM ”

我这边又无法模拟,看代码觉得完全OK啊。所有涉及到时间的都加了DateTime.Now啊,而且数据库的日期字段都设成可为空。

所以我猜会不会跟用户环境有问题,比如说软件装在PC A上,数据库装在PC B上,但PC A的时间格式是yyyy/MM/dd这种,但数据库却是MM/dd/yyyy这种。这样当程序中将2012/01/04这种格式Insert进MM/dd/yyyy时会报溢出吗?

如果谁也碰到过这种情况,帮忙分析一下,谢谢!

C# code
if (usersEntity == null)            {                usersEntity = new UsersEntity                {                    GroupID = groupEntity.GroupID,                    UserName = userName,                    UserType = "USER",                    UserEmail = email ?? string.Empty,                    AddDate = DateTime.Now,                    UpdateDate = DateTime.Now,……


[解决办法]
SQL code
--日期转换参数,值得收藏select convert(varchar,getdate(),120)--2009-02-04 12:55:30select replace(replace(replace(convert(varchar, getdate(),120),'-',''),' ',''),':','')--20090204125539select convert(varchar(12),getdate(),111)--2009/02/04select convert(varchar(12),getdate(),112)--20090204select convert(varchar(12),getdate(),102)--2009.02.04--其它我不常用的日期格式转换方法:select convert(varchar(12),getdate(),101)--02/04/2009select convert(varchar(12),getdate(),103)--04/02/2009select convert(varchar(12),getdate(),104)--04.02.2009select convert(varchar(12),getdate(),105)--04-02-2009select convert(varchar(12),getdate(),106)--04 feb 2009select convert(varchar(12),getdate(),107)--feb 04, 2009select convert(varchar(12),getdate(),108)--12:57:20select convert(varchar(12),getdate(),109)--feb  4 2009 select convert(varchar(12),getdate(),110)--02-04-2009select convert(varchar(12),getdate(),113)--04 feb 2009 select convert(varchar(12),getdate(),114)--12:56:50:763
[解决办法]
你时间字段用的是时间类型,还是字符串类似?

Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM

时间应该是1753年到9999年之间的。
[解决办法]
用datetime 应该是会自动识别 不会出错的
[解决办法]
开始-->设置-->控制面板-->区域和语言选项-->区域选项-->自定义-->日期 
--> 确认两边的日期格式是否相同.

热点排行