sql server 全库查找值

create proc sp_findtb_field(
@w nvarchar(4000),
@t nvarchar(50)='s'
)
as
begin

declare @num int,
               @sqls nvarchar(4000),@i int=1,@count int=0,
               @tbname nvarchar(4000),@field nvarchar(4000)

SELECT TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,ROW_NUMBER()over(order by TABLE_NAME,COLUMN_NAME) rownum
into #tmp
FROM INFORMATION_SCHEMA.columns where 1= case when @t='s' and DATA_TYPE in ('varchar','char','ntext','nvarchar','datetime') then 1
when @t='n' and DATA_TYPE in ('int','smallint','numeric') then 1 else 0 end
 

select @count=max(rownum) from #tmp

while @i<=@count
begin
  
  select  @tbname=TABLE_SCHEMA+'.'+TABLE_NAME,@field=COLUMN_NAME from #tmp wh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server中,可以使用REPLACE函数来查找和替换字符串。 REPLACE函数的语法如下: REPLACE(string_expression, string_pattern, string_replacement) 其中,string_expression是要搜索的字符串表达式,string_pattern是要查找的子字符串,string_replacement是用于替换的字符串。这个函数将会替换字符串表达式中所有匹配的子字符串。 另外,如果你只想替换第一个匹配的子字符串,可以使用STUFF函数结合CHARINDEX函数来实现。STUFF函数用于替换指定位置的字符串,而CHARINDEX函数用于查找子字符串在目标字符串中的起始位置。下面是一个示例代码: SELECT F_Id, F_PersonId, STUFF(F_PersonId, CHARINDEX('1414030230', F_PersonId), LEN('1414030230'), '2020'), F_PersonName, STUFF(F_PersonName, CHARINDEX(N'张三', F_PersonName), LEN(N'张三'), '王加油') FROM TempPerson 类似地,如果你想替换最后一个匹配的子字符串,可以使用REVERSE函数结合STUFF和CHARINDEX函数来实现。REVERSE函数用于将字符串倒转,这样就可以从后往前查找子字符串了。下面是一个示例代码: SELECT F_Id, F_PersonId, REVERSE(STUFF(REVERSE(F_PersonId), CHARINDEX(REVERSE('1414030230'), REVERSE(F_PersonId)), LEN('1414030230'), REVERSE('2020'))), F_PersonName, REVERSE(STUFF(REVERSE(F_PersonName), CHARINDEX(REVERSE(N'张三'), REVERSE(F_PersonName)), LEN(N'张三'), REVERSE(N'王加油'))) FROM TempPerson 请注意,上述代码中的TempPerson是一个表名,你需要根据实际情况替换为你的表名。这些语句将会查找并替换指定的子字符串,并返回替换后的结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值