sql - 提取字符串直到第二个 delim SQL
问题描述
我想从我的 SQL Server 表中提取所有细节,直到第二个 /(正斜杠)。有任何想法吗?
website
AA.AA/AB/123
www.google.com/en/abcd/
yahoo.com/us/dev
gmail.com
ouput
website
AA.AA/AB
www.google.com/en
yahoo.com/us
gmail.com
解决方案
也许这将满足您的需求:
DECLARE @Table TABLE (Col1 NVARCHAR(100))
INSERT @Table VALUES
('website'),
('AA.AA/AB/123'),
('www.google.com/en/abcd/'),
('yahoo.com/us/dev'),
('gmail.com')
SELECT
COALESCE(
NULLIF(
SUBSTRING(Col1,1,CHARINDEX('/',Col1,CHARINDEX('/',Col1)+1))
,'')
,Col1
) AS Col1
FROM @Table
推荐阅读
- sql - 有没有办法更新证书而无需更改 SQL Server 配置管理器中的证书(的指纹)?
- prolog - 执行所有子句并删除一些子句
- java - art::OatHeader::IsDebuggable() const 崩溃,Android 11,Google Ads SDK 19.7.0
- python - 遍历 CSV 时跳过 For 循环
- java - Docker Image 和 Java HTTP Post 请求
- python-3.x - 熊猫计算重复条目
- python - pygame.key.get_pressed() 和 event.type 有什么区别?
- javascript - 未捕获的 TypeError:timer.getTime 不是更新时的函数
- r - Revealjs中的R传单
- typescript - 如何在 Deno 中制作图形应用程序?