说我有一个函数或存储过程,它接受几个VARCHAR参数.我已经厌倦了这样编写SQL来测试这些参数是否有一个值:
IF @SomeVarcharParm IS NOT NULL AND LEN(@SomeVarcharParm) > 0 BEGIN -- do stuff END
必须有一个更好的方式来做到这一点.不在吗?
解决方法
你可以做ISNULL(@SomeVarcharParam,”)<> “或者你可以创建返回一个UDF的UDF:
create function dbo.IsNullOrEmpty(@x varchar(max)) returns bit as BEGIN IF @SomeVarcharParm IS NOT NULL AND LEN(@SomeVarcharParm) > 0 RETURN 0 ELSE RETURN 1 END
并调用使用IF NOT dbo.IsNullOrEmpty(@SomeVarcharParam)BEGIN …
请记住,当调用UDF时,您必须在其所有者的前面(此处为dbo).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。