我想从引号之间有整数的特定字段中删除引号。
来自这一行:“AAA”,“99”
到这一行:“AAA”,99
这是我的字符串:
$string='"name","99","email","112"';
最佳答案
1) 以','分割成表格。 (我使用的是 string_split,它在 MSSQL 2016+ 中受支持 - 在早期的 SQL 版本中有很多方法可以 implement split functions。)
2) 使用 REPLACE(value, '"', '') 和 ISNUMERIC
找出哪些值是数字。
3)使用FOR XML PATH/STUFF添加逗号回来。
DECLARE @str VARCHAR(25) = '"name","99","email","112"'
SELECT STUFF(
(
SELECT ',' +
CASE
WHEN ISNUMERIC(REPLACE(value, '"', '')) = 1
THEN REPLACE(value, '"', '')
ELSE value
END
FROM STRING_SPLIT(@str, ',')
FOR XML PATH('')
), 1, 1, '')
返回:
"name",99,"email",112
关于php - 如何从字符串中的特定字段中删除引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51414911/