如何提取 mysql 列里的字符串 10C

mysql里面,我想提取字符串每一个包含
name="XXXXXXX" display="XXXXX"
的字符串

我该怎么办?

SELECT
a.FIELD_INFO
form_definition AS a

TableList












      <Field id="-2282990529878996205" name="field0001" display="日期" fieldtype="TIMESTAMP" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="1311132989919284655" name="field0002" display="填表人" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="852302268771746414" name="field0003" display="单据编号" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="-7027604062977111670" name="field0004" display="使用单位" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="-727613705713006098" name="field0005" display="联系人" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="2045478367826758515" name="field0006" display="联系电话" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="1703097503935712726" name="field0007" display="使用地址" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="-2958909336678481373" name="field0016" display="状态-已转销售" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>
      <Field id="6814340795750172179" name="field0017" display="设备状态-自有" fieldtype="VARCHAR" fieldlength="255,0" is_null="false" is_primary="false" classname="" barcode=""/>









4个回答

一般不再mysql里做这种操作,你可以在应用层通过正则表达式去匹配,比如在java里去处理

lin5245879
lin5245879 唉。。。如果会就没那么多事了。。。我只是想提出来,当数据字典用。。POWER QURY的话已经实现了。。只是想在mysql语句里寻找解决方案
10 个月之前 回复

It's so easy!

SELECT
    substr(
        a.FIELD_INFO,
        instr(a.FIELD_INFO, 'name'),
        instr(a.FIELD_INFO, 'fieldtype') - instr(a.FIELD_INFO, 'name')
    ) need,
    instr(a.FIELD_INFO, 'name'),
    instr(a.FIELD_INFO, 'fieldtype')
FROM
    table_name a

SELECT
a.FIELD_INFO
form_definition AS a where name like %xxxx% or display like %xxxx%;

full-text index

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问