gpt4 book ai didi

没有上限的 SQL Server 子字符串

转载 作者:行者123 更新时间:2023-12-05 08:40:10 26 4
gpt4 key购买 nike

SQL Server 中最好的方法是什么

SELECT 
SUBSTRING('CATCH ME IF YOU CAN', 2, 10000)
-- ATCH ME IF YOU CAN

没有上限?

最佳答案

改用 STUFF ( STUFF (Transact-SQL) ):

SELECT STUFF('CATCH ME IF YOU CAN',1,1,'');

此处,STUFF 将位置 1 开始的 1 个字符替换为字符串 ''。第二个参数是起始位置,第三个参数是要替换的字符数(从该位置开始)。第 4 个是替换字符串。

因此,作为进一步的示例,您可以执行以下操作:

SELECT STUFF('2019-07-09 11:38:00',11,1,'T');

这会将位置 11 的 1 个字符替换为字符 'T',返回 '2019-07-09T11:38:00',将上述值更改为ISO8601 格式。如您所见,要替换的字符串的长度也不需要与替换字符串的长度相同(实际上,第 3 个参数的值可以为 0,这意味着没有字符被替换,“替换”字符串被简单地注入(inject)到现有值中)。

关于没有上限的 SQL Server 子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56950488/

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