知道如何在set子句中使用trim函数编写mysql更新查询吗?
我需要进行一个更新查询,该查询允许我更新特定列中的前导“0”。我知道我可以编写这样的选择查询来选择下面的修剪值: 从Id=1的MyTable中的SkuCode中选择“0”知道如何在set子句中使用trim函数编写mysql更新查询吗?,mysql,sql-update,trim,Mysql,Sql Update,Trim,我需要进行一个更新查询,该查询允许我更新特定列中的前导“0”。我知道我可以编写这样的选择查询来选择下面的修剪值: 从Id=1的MyTable中的SkuCode中选择“0” 但如何实现这一点是在更新查询中。请帮助我。如果列是文本或varchar类型,请尝试 UPDATE MyTable set SkuCode = SUBSTRING(SkuCode,2) WHERE Id = 1 如果此SELECT语句返回要分配给skucode列的值: SELECT t.skucode
但如何实现这一点是在更新查询中。请帮助我。如果列是文本或varchar类型,请尝试
UPDATE MyTable set SkuCode = SUBSTRING(SkuCode,2) WHERE Id = 1
如果此SELECT语句返回要分配给skucode列的值:
SELECT t.skucode AS current_skucode
, TRIM(LEADING '0' FROM t.skucode) AS proposed_skucode
FROM MyTable t
WHERE t.id=1 ;
然后您可以将其转换为UPDATE语句,方法是替换SELECT。。。从with UPDATE,并在WHERE子句之前添加SET子句,以将返回sku代码建议值的表达式指定给sku代码列,例如
UPDATE MyTable t
SET t.skucode = TRIM(LEADING '0' FROM t.skucode)
WHERE t.id=1 ;
是否总是有一个前导0?那列是什么类型的呢?列的类型是varchartType列的类型是varchar注:这个SUBSTR函数的行为与OP TRIM函数有很大的不同。此SUBSTR表达式将从SKU代码中修剪第一个字符,不管它是什么,而不管它是否为0。这将只修剪一个字符。