SQL SEVER 2000日期问题 SQL SEVER 2000中 定义为datetime数据类型输入:1970-12-12为什么结果是1905-05-01 00:00:00.000本人纯新手 ,求高手指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 insert into tb(时间字段名) values(cast('1970-12-12' as datetime)) 1楼的可以了 ,可是为什么直接用insert tb select 1970-12-12 union allselect 1971-1-1这种方式不行呢? 因为你的数据库中日期格式设置不对。你可以参考:SET DATEFORMAT设置用于输入 datetime 或 smalldatetime 数据的日期部分(月/日/年)的顺序。 语法SET DATEFORMAT { format | @format_var } 参数format | @format_var是日期部分的顺序。可以是 Unicode 或转换为 Unicode 的 DBCS。有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。注释该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。权限SET DATEFORMAT 权限默认授予所有用户。示例下例使用不同的日期格式处理不同格式的日期字符串。SET DATEFORMAT mdyGODECLARE @datevar datetimeSET @datevar = '12/31/98'SELECT @datevarGOSET DATEFORMAT ydmGODECLARE @datevar datetimeSET @datevar = '98/31/12'SELECT @datevarGOSET DATEFORMAT ymdGODECLARE @datevar datetimeSET @datevar = '98/12/31'SELECT @datevarGO --1、结果1905-05-01 00:00:00.000select CAST(1970-12-12 as datetime)--2、结果1970-12-12 00:00:00.000select CAST('1970-12-12' as datetime)看明白没??你肯定是没加引号,默认就是int相减 insert into tb select ‘1970-12-12’ union allselect ‘1971-1-1’这样不就行了撒 sql数据库导出数据时出错... 继续之前的问题,因数数据库的特殊性,所以再加了一些条件,麻烦看看这SQL语句如何写 关于with cube 的问题 一条比较难的sql语句 表设计问题,两表互相一对多,多对一.... 简单循环问题~!急~~!谢谢~! 请问额为何改过操作系统的密码后SQL Server2000就不能够运行了? SqlServer中如何判断字段类型? 加密技术 帮助!机器启动的问题! sqlserver FOR XML PATH 返回的是什么类型 求中间值的SQL
insert tb
select 1970-12-12 union all
select 1971-1-1
这种方式不行呢?
你可以参考:
SET DATEFORMAT
设置用于输入 datetime 或 smalldatetime 数据的日期部分(月/日/年)的顺序。 语法
SET DATEFORMAT { format | @format_var } 参数
format | @format_var是日期部分的顺序。可以是 Unicode 或转换为 Unicode 的 DBCS。有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。注释
该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。权限
SET DATEFORMAT 权限默认授予所有用户。示例
下例使用不同的日期格式处理不同格式的日期字符串。SET DATEFORMAT mdy
GO
DECLARE @datevar datetime
SET @datevar = '12/31/98'
SELECT @datevar
GOSET DATEFORMAT ydm
GO
DECLARE @datevar datetime
SET @datevar = '98/31/12'
SELECT @datevar
GOSET DATEFORMAT ymd
GO
DECLARE @datevar datetime
SET @datevar = '98/12/31'
SELECT @datevar
GO
--1、结果1905-05-01 00:00:00.000
select CAST(1970-12-12 as datetime)
--2、结果1970-12-12 00:00:00.000
select CAST('1970-12-12' as datetime)看明白没??
你肯定是没加引号,默认就是int相减
insert into tb
select ‘1970-12-12’ union all
select ‘1971-1-1’这样不就行了撒