SQL日期转换问题[急,在线等]

snowwolf613 2009-11-12 02:01:53
Declare @Date DateTime
Select @Date='2009-09-25'
Select CONVERT(DATETIME,CONVERT(VARCHAR(10),@Date))

以上脚本在大部分的数据库(不同服务器)中都可正常运行,但今天发现有一台不可以,会报错:

Msg 242, Level 16, State 3, Line 3
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

而且在可正常运行的数据库中,有的是SQL2000 有的是2005,所以可以排除版本问题,不知道是不是服务器或数据库哪里的设定,没设好;

还请各位高手不吝赐教,谢谢!

* 不是这个语句要有什麼意义,这个脚本只是用来说明问题的
...全文
95 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowwolf613 2009-11-13
  • 打赏
  • 举报
回复
谢谢各位的参与,这个问题已经解决了,是默认语言的问题;

我不确定是不是我的表达能力太有限,感觉好像各位是没明白我的提问的重点;

除了 1 楼、10 楼的朋友,有说到默认值设定的问题
luoyoumou 2009-11-12
  • 打赏
  • 举报
回复
Declare @Date DateTime
Select @Date='2009-09-25'
Select CONVERT(DATETIME,CONVERT(VARCHAR(10),@Date,120))

--加个120
luoyoumou 2009-11-12
  • 打赏
  • 举报
回复
--数据库好像有一个默认的日期格式吧,可能你的数据库默认的日期格式不是120,是其他的格式!
snowwolf613 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sql77 的回复:]
引用 4 楼 snowwolf613 的回复:
引用 2 楼 sql77 的回复:
SQL codeDeclare@DateDateTimeSelect@Date='2009-09-25'SelectCONVERT(DATETIME,CONVERT(VARCHAR(10),@Date,120))------------------------------------------------------2009-09-2500:00:00.000

(所影响的行数为1 行)

加个格式,或用ISDATE()判断下


  是的,加了格式可以运行;但是之前别人写的脚本很多这种转换都没有加格式,现在大量报错,一个一个改太麻烦,而且这个问题在别的机器上不会出现;

所以我想会不会是哪里设定的问题

我是说你传进去的日期要判断一下,能转成日期行吗
[/Quote]

传进去的那个字段本身就是Datetime 型的。 如果是要改脚本是可以改,只是太麻烦。

我现在问题的重点是:为什么同样的脚本,在大部分电脑上是可以的,而就在他那台上却不可以,会报错;
snowwolf613 2009-11-12
  • 打赏
  • 举报
回复
我这里写的脚本是直接用 '2009-09-25' 赋值,在实际的程序里面是用的字段名,那个字段是 DateTime 型的;

各位老大,我现在说的不是这个语句本身的问题,是想问在服务器或是数据库上是不是有什么设定,导致同样的脚本在有的地方运行不了;

忆轩辕 2009-11-12
  • 打赏
  • 举报
回复
错误很明显,你的@date 赋的值不对
SQL77 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 snowwolf613 的回复:]
引用 2 楼 sql77 的回复:
SQL codeDeclare@DateDateTimeSelect@Date='2009-09-25'SelectCONVERT(DATETIME,CONVERT(VARCHAR(10),@Date,120))------------------------------------------------------2009-09-2500:00:00.000

(所影响的行数为1 行)

加个格式,或用ISDATE()判断下


  是的,加了格式可以运行;但是之前别人写的脚本很多这种转换都没有加格式,现在大量报错,一个一个改太麻烦,而且这个问题在别的机器上不会出现;

所以我想会不会是哪里设定的问题
[/Quote]
我是说你传进去的日期要判断一下,能转成日期行吗
幸运的意外 2009-11-12
  • 打赏
  • 举报
回复
语句本身没有什么问题的,看起来
snowwolf613 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sql77 的回复:]
SQL codeDeclare@DateDateTimeSelect@Date='2009-09-25'SelectCONVERT(DATETIME,CONVERT(VARCHAR(10),@Date,120))------------------------------------------------------2009-09-2500:00:00.000

(所影响的行数为1 行)

加个格式,或用ISDATE()判断下
[/Quote]

是的,加了格式可以运行;但是之前别人写的脚本很多这种转换都没有加格式,现在大量报错,一个一个改太麻烦,而且这个问题在别的机器上不会出现;

所以我想会不会是哪里设定的问题
snowwolf613 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
有可能是日期格式不正确

比如说超过了9999年

比如说写成了其他格式
[/Quote]

没有;

我就是拿上面的脚本直接在那台上运行,就是报错;

而在大部分的数据库上不会有问题,我这边也没这个问题;
SQL77 2009-11-12
  • 打赏
  • 举报
回复
Declare @Date DateTime 
Select @Date='2009-09-25'
Select CONVERT(DATETIME,CONVERT(VARCHAR(10),@Date,120))


------------------------------------------------------
2009-09-25 00:00:00.000

(所影响的行数为 1 行)


加个格式,或用ISDATE()判断下
--小F-- 2009-11-12
  • 打赏
  • 举报
回复
有可能是日期格式不正确

比如说超过了9999年

比如说写成了其他格式
压缩文件 收集的常见的专业问题解决办法.rar 2006-11-01 21:10 94792 91186 常见的专业问题解决办法\CSS语法一览表.pdf 2009-03-05 14:06 155509 34856 常见的专业问题解决办法\html中rel与rev的关系(转载)_我的幅度.mht 2009-03-05 19:33 232863 45314 常见的专业问题解决办法\Html标签大全_破巢.mht 2006-11-01 21:11 107135 101736 常见的专业问题解决办法\HTML语法一览表.pdf 2000-12-29 09:23 53412 5232 常见的专业问题解决办法\HTML语言参考\HTM1.HTM 2000-12-29 09:23 22961 3263 常见的专业问题解决办法\HTML语言参考\HTM2.HTM 2009-01-16 17:08 1494866 1050112 常见的专业问题解决办法\JavaScript特效代码集.rar 2006-11-01 21:11 95888 88773 常见的专业问题解决办法\JavaScript语法一览表.pdf 2009-02-24 08:39 1423088 975149 常见的专业问题解决办法\Java中多态变量的讨论和总结.mht 2009-02-24 08:52 156256 34316 常见的专业问题解决办法\Java中的强制类型转换_Believe ┭┮ YourSelf.mht 2009-02-24 08:31 61003 61003 常见的专业问题解决办法\Java容器类List、ArrayList、Vector及map、HashTable、HashMap的使用与区别.rar 2009-02-24 08:29 40960 13763 常见的专业问题解决办法\java容器类介绍.doc 2009-02-24 08:42 165165 37065 常见的专业问题解决办法\Java核心技术学习笔记--异常和调试_Believe ┭┮ YourSelf.mht 2009-03-20 16:36 142683 39110 常见的专业问题解决办法\JR - 专题论坛问题 - eclipse??如何设置代理啊.mht 2009-03-10 17:37 462569 194709 常见的专业问题解决办法\JSP实例:动态生成验证码.mht 2009-03-10 17:52 185677 39758 常见的专业问题解决办法\jsp数字验证码代码详解 - 我爱跑IT---技术专区.mht 2009-03-10 17:22 192548 40484 常见的专业问题解决办法\JSP验证码代码的实现_娟行天下.mht 2009-02-24 08:40 156913 33699 常见的专业问题解决办法\JS对select控件的操作汇总整理.mht 2009-02-24 08:40 173330 36602 常见的专业问题解决办法\Js获取当前日期时间及其它操作_Believe ┭┮ YourSelf.mht 2009-03-09 09:42 159485 36202 常见的专业问题解决办法\MYSQL命令备忘_心心相惜.mht 2009-02-24 09:01 165033 37357 常见的专业问题解决办法\MySql的配置_Believe ┭┮ YourSelf.mht 2009-02-24 08:43 452690 186879 常见的专业问题解决办法\Rational Rose 2003 下载、破解及安装方法(图文)_Believe ┭┮ YourSelf.mht 2009-02-24 08:36 171617 47585 常见的专业问题解决办法\Spring框架与AOP思想的研究与应用.mht 2009-02-24 08:37 190012 61182 常见的专业问题解决办法\Spring框架快速入门之简介.mht 2009-01-16 08:16 281434 266693 常见的专业问题解决办法\sql导入excel.rar 2009-03-10 11:12 181976 38906 常见的专业问题解决办法\struts的验证码实现_17号的空间.mht 2009-03-10 11:13 377530 94291 常见的专业问题解决办法\struts验证码 - Struts - Java - JavaEye论坛.mht 2007-10-20 11:27 427008 296205 常见的专业问题解决办法\swing程序设计.doc 2007-12-25 20:21 1504314 1493642 常见的专业问题解决办法\Tomcat.chm 2009-02-21 15:33 979 696 常见的专业问题解决办法\U盘新玩法.txt 2009-03-16 17:34 93262 24870 常见的专业问题解决办法\[]hibernate中的Session什么时候关闭?_百度知道.mht 2009-03-18 09:07 2303315 1322088 常见的专业问题解决办法\[教程]红旗Linux5_0桌面正式版光盘安装=图解教程=Unix-Linux - 系统之家论坛.mht 2009-02-24 08:43 151144 33570 常见的专业问题解决办法\“在静态方法中不能调用非静态的方法和引用非静态的成员变量”如何理解?_Believe ┭┮ YourSelf.mht 2009-03-03 20:16 487640 194474 常见的专业问题解决办法\代理知识大全~~~【申精】精品软件 - 玄殿社区 —打造游戏娱乐温馨家园.mht 2009-03-17 12:00 166432 35921 常见的专业问题解决办法\最新VM虚拟机6_0版_可可_KEY.mht 2009-03-19 08:29 99829 27128 常见的专业问题解决办法\求网页设计,屏蔽右键的代码?_百度知道.mht 2009-03-09 09:38 132723 34712 常见的专业问题解决办法\百度_网盾工程吧_MySQL导出导入命令.mht 2003-06-20 20:49 153581 146314 常见的专业问题解决办法\精通swing程序设计.chm 2009-02-26 16:33 177152 37861 常见的专业问题解决办法\网页常用的jsp 脚本.doc 2009-03-20 16:37 254350 86752 常见的专业问题解决办法\解决Struts中ApplicationResources_properties文件不支持中文问题_微科工作室 QQ:28790953____.mht 2009-02-25 08:45 文件夹 文件夹 常见的专业问题解决办法\HTML语言参考 2009-03-21 14:55 文件夹 文件夹 常见的专业问题解决办法 # # 总计 大小 压缩后大小 文件数 # 13349124 7429458 42

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧