在 PATINDEX 中 = 0 是啥意思? [关闭]
Posted
技术标签:
【中文标题】在 PATINDEX 中 = 0 是啥意思? [关闭]【英文标题】:What does = 0 mean in PATINDEX? [closed]在 PATINDEX 中 = 0 是什么意思? [关闭] 【发布时间】:2021-12-24 12:27:42 【问题描述】:代码应该接受包含字符 a-z A-Z 0-9 _ - '的昵称
IF PATINDEX('%[^a-zA-Z0-9_-']%' , @nickname) = 0
RETURN 1;
【问题讨论】:
请注意,该语句也无效,因为字符串文字中的单引号 ('
) 未正确转义(从语法突出显示中很容易看出)。跨度>
仅供参考,模式中的^
不包括字符范围。因此,当字符串不包含不在这些范围内的字符时,它将返回 0。
【参考方案1】:
从PATINDEX
上的documentation的第一行开始:
返回指定表达式中模式第一次出现的起始位置,如果未找到该模式,则返回零,适用于所有有效的文本和字符数据类型。
如果您不了解函数的作用或它返回的值代表什么,则文档应该始终成为您的第一站。
【讨论】:
以上是关于在 PATINDEX 中 = 0 是啥意思? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章