关于如何改变Sql server字段Null自动变为0的探讨?

敦厚的曹操 2012-03-31 05:08:05
大家有没有体会过,当把sql server中表数据引入vfp临时表时,如果有字段为Null,还需要判断一下,比如:
if aaa=0 or isnull(null),很麻烦,我的方法一般有2种:
1、在sql server 建表时,把字段默认值设为0或者""
2、引入临时表时,把字段中的Null判断后都替换为0 或"" repl aaa with 0 for isnull(aaa)
-------------------------------------------------------------------------------------------------
想问一下大家,有没有一条命令比如:set null off
(只要一执行,就不会有null值,所有null值要么是0,要么是“”)
谢谢!
...全文
1198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fsconnie 2012-03-31
  • 打赏
  • 举报
回复
SQL语句里用IIF(ISNULL(表名.X)=.T.,0,表名.X)
十豆三 2012-03-31
  • 打赏
  • 举报
回复
VFP 的确有 SET NULL ON | OFF 命令,不过不是干这个用的。

我通常做法:建表时要么不允许 NULL,要么允许 NULL并用默认值(你的方法1),如果有需求必须允许 NULL并不能用 默认值,那就再判断了。
thinclient 2012-03-31
  • 打赏
  • 举报
回复
这样的命令我不记得有
但是你可以这样:
设SQL Server中有一表名为Table_1,表中有字符型列aa,int型列bb, 这两列都有些行是空值,可以在你的VFP代码中写
nReturnValue=SQLEXEC(lnconnHandle,[select isnull(aa,''),isnull(bb,0) from Table_1],[临时表名])
这不也是一劳永逸的么?
十豆三 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
字段允许为空(NULL)是有特殊含义的:表示该记录该字段从未赋过值,这一点在大型数据处理中是非常有用的,虽然会给后续工作带来一些不便。
SQL 同时提供了 ifnull(名, 默认值) 这个函数来统一查询结果

虽然 vfp 的自由表不存在空值,但数据库(DBC)中的表是允许有空值的,并且不影响计算
[/Quote]没错,给了这个功能,肯定有他的用处,具体如何用,根据实际需求选择了。
xuzuning 2012-03-31
  • 打赏
  • 举报
回复
字段允许为空(NULL)是有特殊含义的:表示该记录该字段从未赋过值,这一点在大型数据处理中是非常有用的,虽然会给后续工作带来一些不便。
SQL 同时提供了 ifnull(名, 默认值) 这个函数来统一查询结果

虽然 vfp 的自由表不存在空值,但数据库(DBC)中的表是允许有空值的,并且不影响计算

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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