初学者。Sqlserver null的问题
从网上查到的资料说,任何数据类型与NULL值进行计算,结果都将为NULL.
select null-1
结果是null
可是下面这个查询为什么会出错呢?
select isnull(null-1,'test');
居然报错说将varchar转为int失败。
为什么会说转成int失败呢?前面的null-1的结果不是null么?怎么还会去转成int?
环境sql server2000
谢谢回答。
/
呵呵。确实没注意过。应该是null-1结果隐式转换成了int类型。所以才会出现这个错误。
http://blog.csdn.net/Beirut/archive/2009/08/11/4433706.aspx
除了count(*) 外其他聚合函数都会忽略空值
SQL code:
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL 的表达式。check_expression 可以为任何类型。
replacement_value
当 check_expression 为 NULL 时要返回的表达式。replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。
返回类型
返回与 check_expression 相同的类型。
备注
如果 check_expression 不为 NULL,则返回它的值;否则,在将 replacement_value 隐式转换为 check_expression 的类型(如果这两个类型不同)后,则返回前者。
test必须可以转换为整型才可以,如果换为'1'就可以了
可是我这里好像没有用到聚合函数啊。
{{-
相关问答:
sqlserver,如果加个用户,权限是读所有表,但只能修改某个表的字段属性
没这个说法.
只给SELECT ,
UPDATE的只给某些表
个不会
但只能修改某个表的字段属性 这个难搞
要加权限得针对某个数据库
......
是这样的,我用是ODBC数据源连接服务器的数据库,现在我觉得很麻烦,因为要为每如机添加对应的数据源,想把他改成ADO方法来访问服务器的数据库能实现吗?要怎么写。
比如服务器里有二个数据库data1 和data2,客户 ......
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class QueryTest&n ......
前置like如何使用
比如,‘1,2’ like ‘1,2,3’怎么匹配
是不是‘%1,2%’like‘1,2,3’
charindex(',' + '1,2' + ', ......
数据库中有这样一个表 table,字段列表是
ID Name CateGory
1 张三 学生
2 李四 &nb ......