cast()和convert()到底有什么区别?为什么要设置两个类型转换函数? cast()和convert()到底有什么区别?为什么要设置两个类型转换函数?我在日期类型转换时候,如果遇到了一个日期型变量是datetime型的,正好这个变量是NULL,为什么从convert函数转换成字符传是1900 01 01 00:00:000,好郁闷啊,有没有办法让直接显示为空!print convert(isnull(@hirm_time,''),char(30)) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实楼主应该查询一下SQLSERVER 的联机帮助,里面很详细的! convert()带转换的格式,cast()不带格式。对于NULL值可以用case when ... end判断一下。 帮助里面选Transact-SQL帮助,然后搜索CONVERT LZ 的问题貌似小楼同学已经跟你解决了刚才仔细看看了发生是LZ的写法有问题才会这样时间类型如果为空字符串值,则会认为是datetime类型的默认值,也就是1900年1月1号,如果要给自己给默认值要在转换完了以后再用isnull判断,就像小楼同学回复的帖子那样convert()是可以格式化的,不信LZ试试看declare @datetime datetimeset @datetime = getDate()print convert(char(8),@datetime,112) + replace(convert(char(8),@datetime,114),':','')print cast(@datetime as char(19)) 谢谢高升兄,不知道是我问的不够清楚还是怎么回事,你说了那些其实都不是我想要的,不过我要感谢你,经过你的提示,我终于达到了目的,其实下面就是我想要的效果:declare @datetime datetimeset @datetime =NULL--print convert(char(18),@datetime,120)print replace(convert(char(18),isnull(@datetime,''),120),'1900-01-01 00:00:0','暂无')显示:暂无 游标问题 如何将数据库中存储的float格式的时间差值显示出来 “生成SQL脚本”功能只能生成表结构吗,能否为表中的记录生成Insert语句 中文圆括号通过ADO保存到数据库中出错,求救 以下語句為什麼不能通過,非要使用不同名的臨時表才可以 SQL如何导出到EXCEL,并在客户端生成.XLS文件 求一条SQL语句 求教:SELECT ... DISTINCT COUNT... 中的DISTINCT COUNT中文译文(100分) 如何用bcp方式备份整个数据库内容。 急,请问以下是哪种数据库? 怎么把数据和日志文件分开在不同盘上? 100求一问题,应该不会难 (除了我)
如果要给自己给默认值要在转换完了以后再用isnull判断,就像小楼同学回复的帖子那样convert()是可以格式化的,不信LZ试试看declare @datetime datetime
set @datetime = getDate()
print convert(char(8),@datetime,112) + replace(convert(char(8),@datetime,114),':','')
print cast(@datetime as char(19))
set @datetime =NULL
--print convert(char(18),@datetime,120)
print replace(convert(char(18),isnull(@datetime,''),120),'1900-01-01 00:00:0','暂无')显示:暂无