gpt4 book ai didi

SQL 查询带回仅包含数字的字段(特别是 IP 地址)

转载 作者:行者123 更新时间:2023-12-02 07:10:19 25 4
gpt4 key购买 nike

我有很多表,其中包含一个名为 company 的字段,其中可以包含:

“假公司”或“5.5.5.5”

上面的数字地址当然是IP地址。

我不确定我将如何编写一个选择查询,它只返回具有 IP 地址的行,而不仅仅是文本。有什么想法吗?

最佳答案

您可以在 SQL-Server 上使用正则表达式,例如:

INSERT INTO tIP VALUES('Fake Company');
INSERT INTO tIP VALUES('5.5.5.5');
INSERT INTO tIP VALUES('192.168.5.8');
INSERT INTO tIP VALUES('192.168.5.88');

DECLARE @regexPattern varchar(100);
SET @regexPattern='([0-9]{1,3}\.|\*\.){3}([0-9]{1,3}|\*){1}';

SELECT * FROM tIP
WHERE dbo.RegexMatch( tIP.IP, @regexPattern ) = 1

函数如下:

CREATE FUNCTION [dbo].[RegexMatch](@Input [nvarchar](4000), @Pattern [nvarchar](4000))
RETURNS [bit] WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [RegexLib].[RegexLib.UserDefinedFunctions].[RegexMatch]

关于SQL 查询带回仅包含数字的字段(特别是 IP 地址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6777964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com