php - 如何从字符串中的特定字段中删除引号?

标签 php sql-server

我想从引号之间有整数的特定字段中删除引号。

来自这一行:“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/

相关文章:

sql-server - OrmLite 查询 OrderBy 方法的问题

mysql - 如何处理存储日期和时间的应用程序中的多个时区?

c# - Entity Framework 创建名称错误的数据库

c# - SQL 数据库中的 BLOB 文件作为 block

sql-server - SQL Server 2005批量插入二进制类型

PHP MySQL 从同一结果行中以不同数组的形式获取列

PHP论坛数据库优化

php - 覆盖 Laravel >= 5.4 中的默认 Auth 路由

javascript - 如何使用ajax正确地将数据发布到div中?

zend-framework - 从一个 PHP 框架迁移到另一个