有没有一种简单的方法来确定一个varchar是否为数字?
示例:
abc123 --> 不是数字
123 --> 是数字
有没有一种简单的方法来确定一个varchar是否为数字?
示例:
abc123 --> 不是数字
123 --> 是数字
如果您想在字段上添加约束:
固定长度的正整数
ALTER TABLE dbo.BankBranchType
ADD CONSTRAINT CK_TransitNumberMustBe5Digits
CHECK (TransitNumber NOT like '%[^0-9]%'
AND LEN(TransitNumber) = 5)
不要忘记从数据中排除回车符!
例如:
SELECT
Myotherval
, CASE WHEN TRIM(REPLACE([MyVal], char(13) + char(10), '')) not like '%[^0-9]%' and RTRIM(REPLACE([MyVal], char(13) + char(10), '')) not like '.' and isnumeric(REPLACE([MyVal], char(13) + char(10), '')) = 1 THEN 'my number: ' + [MyVal]
ELSE ISNULL(Cast([MyVal] AS VARCHAR(8000)), '')
END AS 'MyVal'
FROM MyTable