【发布时间】:2021-03-18 03:39:27
【问题描述】:
我希望在我的LIKE 子句中使用给定条件的正则表达式:
- 它应该只有 13 个长度的字符
- 前 8 个字符应为数字
- 第 9 个字符应附加一个破折号 (
-) - 剩下的 4 个字符是剩下的数字。
例子:
12345678-912398765432-1234
目前有这个功能:
CREATE FUNCTION [dbo].[FN_VALIDATE_ID](@TX_INPUT VARCHAR(50))RETURNS BIT AS
BEGIN
DECLARE @bitInputVal AS BIT = 1
DECLARE @InputText VARCHAR(50)
SET @InputText = LTRIM(RTRIM(ISNULL(@TX_INPUT,'')))
IF @InputText <> '' AND LEN(@InputText) = 13
BEGIN
SET @bitInputVal = CASE
WHEN @InputText LIKE '%^[0-9]%' THEN 1
ELSE 0
END
END
RETURN @bitInputVal
END
【问题讨论】:
标签: sql sql-server regex tsql