sql - 如何检查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 位长,以及它是否只有数字,但是当它返回一个存储到表中的字符串时。
解决方案
看起来您正在使用 MS SQL Server(从您的标签中不清楚)作为您的 DBMS。在这种情况下:
NOT ISNULL(sCode,'')=''
将检查 sCode 是否不是 Null 或空字符串。将其添加到您的IF
声明中。
推荐阅读
- python - 在python中导入图像,如果我将程序文件夹移动到不同的位置,我的程序将无法运行,如果我想让它运行,我必须更改我的代码
- asp.net-core - EF Core 中的一对多关系
- regex - Perl:如何在文件中插入行?
- apache-spark - 尝试在 spark 中读取 athena 表时出错
- r - 根据另一列中的值将函数应用于给定列的特定行
- java - 如何在代码的其他部分使用封闭范围内定义的变量?我的代码粘贴在下面
- python - Pylance 在 VSCode Jupyter 笔记本中不起作用
- c# - 使用 Syncfusion 在 PdfGrid 中旋转单元格文本
- haskell - Haskell中的表观类型变量行为不连贯澄清
- ios - 我怎样才能在 tableview 中获得正确数量的部分。迅捷,领域