基于Classic ASP与MySQL的逗号分隔字段解析求助
Classic ASP解析逗号分隔标签的两种简单方法
一、Classic ASP 端处理(拿到数据后拆分)
这是最直接的方法,步骤简单:
- 先从MySQL数据库读出带逗号的标签字段,把它存在ASP变量里,比如:
Dim tagStr tagStr = "tea,coffee,bread,milk" ' 这里替换成从数据库读出的实际值 - 用ASP自带的
Split函数直接拆分,得到一个装着所有标签的数组:Dim tagArray tagArray = Split(tagStr, ",") ' 按逗号拆分字符串 - 循环遍历数组,就能逐个拿到单个标签:
Dim i, singleTag For i = 0 To UBound(tagArray) singleTag = Trim(tagArray(i)) ' 去掉标签前后可能的空格 ' 这里的singleTag就是单个标签,比如"tea"、"coffee" ' 后续入库操作直接用这个变量就行 Next
二、MySQL 端处理(直接从数据库拆分)
如果不想在ASP里写代码,也可以让MySQL直接把拆分好的标签返回给你:
- 用下面的SQL语句,把
your_table换成你的表名,tags换成存标签的字段名:SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(t.tags, ',', n.n), ',', -1) AS single_tag FROM your_table t CROSS JOIN ( SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 -- 如果标签数量可能超过4个,就继续加 SELECT 5、SELECT 6... ) n WHERE n.n <= LENGTH(t.tags) - LENGTH(REPLACE(t.tags, ',', '')) + 1; - 执行这条语句后,数据库会返回每行对应的单个标签,比如四行数据:
tea、coffee、bread、milk,你直接用ASP读取这些结果就行。
内容的提问来源于stack exchange,提问作者Penguin
相关产品推荐
相关产品推荐

