摘要: 以sql2012以前的版本,我们使用CONVERT尝试把某一个值转为某一个数据类型值时,当转换失败时,它会抛出异常。就以这篇为例,http://www.cnblogs.com/insus/archive/2012/08/11/2634131.htmlDECLARE@dNVARCHAR(20)=N'2012年08月12日14时36分48秒'SELECTCONVERT(DATETIME,@d)它会抛出如下异常消息:Msg 241, Level 16, State 1, Line 2Conversion failed when converting date and/or time 阅读全文
posted @ 2012-08-11 23:45 Insus.NET 阅读(522) 评论(1) 推荐(1) 编辑
摘要: MS SQL Server2012中把一个中文日期时间格式字符串转为日期时间。如:DECLARE@dNVARCHAR(20)=N'2012年08月12日14时36分48秒'SELECTPARSE(@dASDATETIMEUSING'zh-CN')执行结果: 阅读全文
posted @ 2012-08-11 23:30 Insus.NET 阅读(948) 评论(1) 推荐(1) 编辑
摘要: 这个函数是获取一个指定日期所在月份最后一天的日期。可以解决以前为了得到某一个月月份最后一天,而使用DATEADD函数,去加或减来解决。如:DECLARE@dDATE='2012-02-17'SELECTEOMONTH(@d)得到: 阅读全文
posted @ 2012-08-11 23:12 Insus.NET 阅读(717) 评论(0) 推荐(1) 编辑
摘要: 在MS SQL Server 2012中,出现一个函数,就是IIF,它可以替代一些CASE的表达式。如以前的一篇文章:http://www.cnblogs.com/insus/articles/1944849.html如今可以很简单方便解决它:SELECT[a],IIF([b]='y',N'是',N'否')AS[b]FROM[t] 阅读全文
posted @ 2012-08-11 22:56 Insus.NET 阅读(1796) 评论(0) 推荐(1) 编辑
摘要: 刚才网友在SKYPE问Insus.NET一个问题,在MS SQL中,怎样找出一个字符串所有数字。Insus.NET使用较简单与平常的方法,就是使用循环的方法,循环字符串中每一个字符,并插入至一个表变量中。然后再SELECT这个表变量,条件中使用了正则表达式来实现。请参考下面完整的SQL语句,还附加上注释。如遇上不明的, 请继续讨论。DECLARE@sNVARCHAR(100)='ADF632sadf8w43rfd8dj2'--宣告一个表变量DECLARE@tTABLE([s]NVARCHAR(2)NULL)--宣告两个变量,一个是循环初始变量,另一个是存储字符长度变量DECLA 阅读全文
posted @ 2012-08-11 22:13 Insus.NET 阅读(1013) 评论(2) 推荐(1) 编辑