查数据库中所有表名中含某个字符串的表的名称及字段信息sql脚本

比如

       查ERP数据库中所有表的表名中含2014的表的名称及字段信息    sql脚本

select tab.name,*
from syscolumns as col
inner join sysobjects as tab on col.id = tab.id
where tab.name like '%2014'


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想比较两个字段的所有内容的相似程,可以使用字符串相似度算法, Levenshtein 距离或 Jaccard 系数。以下是一个示例脚本,使用 Levenshtein离来比较两个字段的相似程: ```sql -- 创建函数 CREATE FUNCTION dbo.CalculateSimilarity( @str1 NVARCHAR(MAX), @2 NVARCHAR(MAX) ) RETURNS FLOAT ASBEGIN DECLARE @length1 INT, @length2 INT, @maxLen INT, @distance INT, @similarity FLOAT; SET @length1 = LEN(@str1); SET @length2 = LEN(@str2); SET @maxLen = MAX(@length1, @length2); -- 计算 Levenshtein 距离 WITH CTE AS ( SELECT 0 AS i, 0 AS j, 0 AS distance UNION ALL SELECT i + 1, j, distance + 1 FROM CTE WHERE i + 1 <= @length1 UNION ALL SELECT i, j + 1, distance + 1 FROM CTE WHERE j + 1 <= @length2 UNION ALL SELECT i + 1, j + 1, distance + CASE WHEN SUBSTRING(@str1, i + 1, 1) <> SUBSTRING(@str2, j + 1, 1) THEN 1 ELSE 0 END FROM CTE WHERE i + 1 <= @length1 AND j + 1 <= @length2 ) SELECT @distance = distance FROM CTE WHERE i = @length1 AND j = @length2; -- 计算相似性 SET @similarity = 1 - (CONVERT(FLOAT, @distance) / @maxLen); RETURN @similarity; END; ``` 使用示例: ```sql -- 比较两个字段的相似程度 DECLARE @column1 NVARCHAR(MAX), @column2 NVARCHAR(MAX), @similarity FLOAT; SET @column1 = 'Hello World'; SET @column2 = 'Hello W0rld'; SET @similarity = dbo.CalculateSimilarity(@column1, @column2); SELECT @similarity AS Similarity; ``` 这个示例,我们创建了一个名为 `CalculateSimilarity` 的函数来计算两个字符串的相似程度。然后,我们使用这个函数来比较两个字段的相似程度,并将结果存储在一个变量。最后,我们通过询这个变量来获取相似程度的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值