假设我有一个接受多个 VARCHAR 参数的函数或存储过程.我已经厌倦了像这样编写 SQL 来测试这些参数是否有值:
Say I've got a function or stored procedure that takes in several VARCHAR parameters. I've gotten tired of writing SQL like this to test if these parameters have a value:
IF @SomeVarcharParm IS NOT NULL AND LEN(@SomeVarcharParm) > 0
BEGIN
-- do stuff
END
必须有更好的方法来做到这一点.没有吗?
There's gotta be a better way to do this. Isn't there?
你可以做 ISNULL(@SomeVarcharParam, '') <>'' 或者您可以创建一个返回位的 UDF:
You can do ISNULL(@SomeVarcharParam, '') <> '' or you can create a UDF that returns a bit:
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.)
Keep in mind that when calling a UDF, you MUST prefix the owner of it (here, dbo.)
这篇关于String.IsNullOrEmpty 类似 SQL 中 VARCHAR 的函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
Sql server 表使用情况统计Sql server table usage statistics(Sql server 表使用情况统计)
t sql中的相对路径?Relative path in t sql?(t sql中的相对路径?)
在 WHERE 条件下获取 SQL 中的最后一条记录Getting the last record in SQL in WHERE condition(在 WHERE 条件下获取 SQL 中的最后一条记录)
在 SQL Server 中使用 FOR XML PATH 查询以获取分层数据Query to get XML output for hierarchical data using FOR XML PATH in SQL Server(在 SQL Server 中使用 FOR XML PATH 查询以获取分层数据的 XML
嵌入在 sum() 函数中的 T-SQL IF 语句T-SQL IF statement embedded in a sum() function(嵌入在 sum() 函数中的 T-SQL IF 语句)
表与临时表性能Table vs Temp Table Performance(表与临时表性能)