gpt4 book ai didi

SQL在select中查找字符串

转载 作者:行者123 更新时间:2023-12-01 11:58:00 25 4
gpt4 key购买 nike

我有一个这样的选择语句:

SELECT ColumnA,
CASE ColumnB = 'England' THEN ...

在 THEN 语句之后的部分,我想从 ColumnC 中取出数字,

例如ColumnC 值 = ABC 123 DEF,我需要“123”部分。

当“123”始终位于字符串中仅有的 2 个空格之间时,有人知道我可以在 select 中执行此操作的 sql 代码吗? (MS SQL)

最佳答案

关键是你需要使用 ColumnC LIKE '% % %' 这样当数据不包含两个空格时它不会失败。

如果你的数字长度少于 20 个字符,你可以使用这个

SELECT ColumnA,
CASE WHEN ColumnB = 'England' AND ColumnC LIKE '% % %' THEN
RTRIM(LEFT(REPLACE(STUFF(columnc, 1, PatIndex('% %', columnc), ''), ' ', REPLICATE(' ', 20)),20))
ELSE ....

或者你可以用这个

SELECT ColumnA,
CASE WHEN ColumnB = 'England' AND ColumnC LIKE '% % %' THEN
SUBSTRING(
SUBSTRING(
ColumnC,
1,
CHARINDEX(' ',ColumnC,CHARINDEX(' ', ColumnC)+1)-1),
1+CHARINDEX(' ', ColumnC),
LEN(ColumnC))
ELSE ....

关于SQL在select中查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931426/

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