在SQL中向字符串添加字符

时间:2018-09-13 00:07:05

标签: mysql sql sql-server split

所以说我有这样的字符串

  

'一,二,三,四'

我需要在引号之间为每个单词添加“ ,所以最后我需要返回一个像这样的单个字符串

  

''一个','两个','3','四个'

我知道我可以使用 sql 中的 split 函数拆分整个字符串,但是我真正的问题是如何添加这些引号。我感谢所有人的帮助

3 个答案:

答案 0 :(得分:4)

您可以使用C和字符串串联。在标准SQL中,这看起来像:

library(readr)
source.data <- 
  file.path("C:", "User", "Administrator", "Documents", "Classes", "Fall_2018", "Econ380")
weather <- read_rds(file.path(source.data, "VirginiaWeather2017.rds"))

MySQL和SQL Server使用不同的方法进行字符串连接,因此通常将其写为:

replace()

select '''' || replace(str, ',', ''',''') || ''''

答案 1 :(得分:2)

使用双引号。

多列:

SELECT '''one''', '''two''', '''3''' , '''four'''

单个字符串

SELECT '''one'', ''two'', ''3'', ''four'''

答案 2 :(得分:1)

您可以使用quotenamestring_agg(从SQL Server 2017开始)和string_split(从SQL Server 2016开始)的组合:

declare @string nvarchar(max)=' one,two,3,four'

select '''' + string_agg(quotename(trim(value), ''''), ',') as result
from string_split(@string,',')

结果:

enter image description here