首页 > 解决方案 > 如何检查SQL中是否存在数字

问题描述

我有一个存储过程,我必须对其进行修改,使其不接受空字符串或空值。

我目前将此作为存储过程的一部分

IF NOT EXISTS (SELECT * FROM dbo.tblUserCode WHERE iUserID = @UserID)
BEGIN
    INSERT INTO dbo.tblUserCode (iUserID, sCode) 
    VALUES (@UserID, @Unlock)
END 

但是,如果值为 null 或字符串,我不想在表中输入任何内容。该表只有具有代码的用户 ID。当创建用户并将插槽留空时,它当前正在存储 0 和空字符串。我知道这是这一行,因为我的访问代码检查代码是否为 4 位长,以及它是否只有数字,但是当它返回一个存储到表中的字符串时。

标签: sqlsql-serverstored-procedures

解决方案


看起来您正在使用 MS SQL Server(从您的标签中不清楚)作为您的 DBMS。在这种情况下:

NOT ISNULL(sCode,'')='' 

将检查 sCode 是否不是 Null 或空字符串。将其添加到您的IF声明中。


推荐阅读