如何在 Transact-SQL 中检查字符串是否仅由字母或数字组成?
这里的字符串具有数据类型 nchar
,“字母”特指拉丁字符。数据库环境为Microsoft SQL Server 2014。
所需结果示例:
C172E returns True
412?A returns False //'?' is neither a letter nor a number
我进行了一些搜索,但只找到了内置的 ISNUMERIC()
函数,该函数仅适用于数字。
是否有针对此问题的 Transact-SQL 解决方案?
答案 0 :(得分:1)
看到这个关于 obtaining only fields with alphanumeric data
的类似问题您可以执行以下操作:
FIELD NOT LIKE '%[^a-zA-Z0-9]%'
答案 1 :(得分:0)
您可以使用not like
:
(case when str not like '%[^a-zA-Z0-9]%' then 1 else 0 end) as isalnum_flag
这是说该字符串没有非字母数字字符。
答案 2 :(得分:0)