在SQL中提取字符串的第一个单词

时间:2017-08-09 09:56:24

标签: mysql sql

output <- list()

for(i in 1:surveyed100){
   output[[i]] <- test.rows <- sample(1:nrow(surveyed100), 246) 
}

任何人都可以帮我在SUB_TYPE列中的空格前提取单词吗?上面的语法不起作用。我对SQL查询不是很好,非常感谢帮助。

2 个答案:

答案 0 :(得分:2)

在Sql Server中:

       DECLARE @text varchar(100)='Why is MySQL tagged'
       SELECT left(@text,charindex(' ',@text))

       Output :
               Why

答案 1 :(得分:0)

您可以将LOCATE()函数与SUBSTR()一起使用。

例如:

SELECT Machine_number, Week_number, 
SUBSTR( machine_dim.SUB_TYPE, 1, LOCATE(' ' ,machine_dim.SUB_TYPE)) AS Machine_type

要使用没有空格的完整单词对记录进行排序,请使用以下表单:

SELECT Machine_number, Week_number, 
CASE LOCATE(' ',machine_dim.SUB_TYPE) 
    WHEN 0 THEN machine_dim.SUB_TYPE 
    ELSE SUBSTR( machine_dim.SUB_TYPE, 1, LOCATE(' ' ,machine_dim.SUB_TYPE)) 
END AS Machine_type

请注意,某些SGBD(例如SQL Server,Firebird)可能不支持此语法。

希望这有帮助