更改记录中的特定名称

时间:2019-04-29 16:54:34

标签: mysql sql

假设我有一个列名Address。此列中的存在记录类似于ABC,XYZ,TX

要写Texas而不是TX的查询是什么?

4 个答案:

答案 0 :(得分:1)

这是您想要的吗?

select (case when address like '% TX'
             then concat(left(address, length(address) - 2), 'Texas')
             else address
        end)

也就是说,您应该将状态存储在单独的列中。

答案 1 :(得分:0)

据我了解,您想用TX重写表Adress列中的每个Texas。这是实现该目标的SQL查询。

UPDATE TableName
SET Address = replace(Address , 'TX', 'Texas')
WHERE Address LIKE '%TX'

答案 2 :(得分:0)

如果要更新值,可以在更新中使用arepalce

<script>
    $(document).on('change', '.custom-file-input', function (event) {
        $(this).next('.custom-file-label').html(event.target.files[0].name);
    })
</script>

{% if widget.is_initial %}
    <a href="{{ widget.value.url }}"><img class="ml-0" src="{% thumbnail widget.value "small"  %}"></a>

    {% if not widget.required %}
    {% endif %}
    <br>

{% endif %}

<div class="input-group mb-3">
    <div class="input-group-prepend">
        <span class="input-group-text" id="inputGroupFileAddon01">Upload</span>
    </div>
    <div class="custom-file">
        <input type="{{ widget.type }}" name="{{ widget.name }}" class="custom-file-input" id="inputGroupFile02" id="inputGroupFile02" aria-describedby="inputGroupFileAddon01" {% include "django/forms/widgets/attrs.html" %}>
        <label class="custom-file-label " for="inputGroupFile02">{{ widget.value|default_if_none:"Choose the file" }} {{ widget.filename }}</label>
    </div>
</div>

或进行决赛

update Your_Table
set Address = replace(Address, 'TX', 'Texas')  
where Address   like '%TX%'

或者如果您只需要选择

update Your_Table
set Address = replace(Address, 'TX', 'Texas')  
where Address  like '%TX'

答案 3 :(得分:0)

TX可以位于字符串的任何部分,而您不需要这样的字符串:

  

ABC TX D,XYZ, TX

第一个要替换的TX,对吧?
因此,要涵盖所有情况,您需要将,连接到字符串的开头和结尾,然后进行替换:

update tablename
set address = trim(',' FROM replace(
  concat(',', address, ','), 
  concat(',','TX', ','), 
  concat(',', 'Texas', ',')
)) 
where concat(',', address, ',') like concat('%,', 'TX', ',%')

请参见demo