Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql server在一列中的空格之间获取值_Sql_Sql Server_Sql Server 2008_Sql Server 2008 R2 - Fatal编程技术网

sql server在一列中的空格之间获取值

sql server在一列中的空格之间获取值,sql,sql-server,sql-server-2008,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008,Sql Server 2008 R2,我需要帮助获取一列中空格之间的值。对于下面的要求,我需要第一个空格后的值 我有一个包含多行的列: 原始列 Microsoft SQL Server Oracle DB Server Delete From Table Name SELECT as123 987 预期产量为 预期的_输出 SQL DB From as123 解决这类问题的一个技巧是使用parsename()。假设名称中没有句点,我认为以下内容符合您的要求: select parsename(replace(val, ' ',

我需要帮助获取一列中空格之间的值。对于下面的要求,我需要第一个空格后的值

我有一个包含多行的列:

原始列

Microsoft SQL Server
Oracle DB Server
Delete From Table Name
SELECT as123 987
预期产量为

预期的_输出

SQL
DB
From 
as123

解决这类问题的一个技巧是使用
parsename()
。假设名称中没有句点,我认为以下内容符合您的要求:

select parsename(replace(val, ' ', '.'), 2)
这就是一个例子

编辑:

斯盖德斯是对的。如果您一直想要第二个名称,并且可以有三个或四个部分,则可以使用
reverse()

select reverse(parsename(replace(reverse(val), ' ', '.'), 2))

(其中一个值似乎有四个部分;我最初将其理解为“从TableName中删除”。

解决此类问题的一个技巧是使用
parsename()。假设名称中没有句点,我认为以下内容符合您的要求:

select parsename(replace(val, ' ', '.'), 2)
这就是一个例子

编辑:

斯盖德斯是对的。如果您一直想要第二个名称,并且可以有三个或四个部分,则可以使用
reverse()

select reverse(parsename(replace(reverse(val), ' ', '.'), 2))

(其中一个值似乎有四个部分;我最初将其理解为“从TableName中删除”。

试试这个。使用
子字符串、Charindex和左字符串函数
获取值

select left(substring(Col,charindex(' ',Col)+1,len(Col)),charindex(' ',substring(Col,charindex(' ',Col)+1,len(Col))))

试试这个。使用
子字符串、Charindex和左字符串函数
获取值

select left(substring(Col,charindex(' ',Col)+1,len(Col)),charindex(' ',substring(Col,charindex(' ',Col)+1,len(Col))))

请共享您迄今为止尝试过的查询。您需要使用SubString和CharIndex函数来获得结果。找到第一个空格,找到下一个空格(初始空格后的起始字符),从这两个索引点开始使用SubString。(CHARINDEX)请分享您迄今为止尝试过的查询。您需要使用SubString和CharIndex函数来获得结果。找到第一个空格,找到下一个空格(初始空格后的起始字符),从这两个索引点开始使用SubString。(CHARINDEX)+1,我喜欢这个,但我认为它应该与
reverse
:+1,我喜欢这个,但我认为它应该与
reverse
一起使用: