我需要一些SQL帮助。我需要改变一些线路中的数据库一样SQL更改值如果小于X
伪代码:
SELECT * FROM tablename WHERE value1->.length <=4 AND CHANGE value to 0value1
大部分的线路有5个字符的长度。我需要在长度为4个字符的所有值前添加一个“0”。
任何人都可以帮忙!谢谢!!!
我需要一些SQL帮助。我需要改变一些线路中的数据库一样SQL更改值如果小于X
伪代码:
SELECT * FROM tablename WHERE value1->.length <=4 AND CHANGE value to 0value1
大部分的线路有5个字符的长度。我需要在长度为4个字符的所有值前添加一个“0”。
任何人都可以帮忙!谢谢!!!
试试这个
UPDATE tablename
SET value1 = concat(0,value1)
WHERE length(value1)=4
试试这个 update tablename set value= concat(0,value1) where CHAR_LENGTH(value1)<=4
@jeans与我的回答有什么不同 – Sadikhasan
@Sadikhasan我使用CHAR_LENGTH,你的写作速度更快! – Jens
这不行,对不起。没有行编辑。 – Dublay
只是另一种方法/理念为这个(未经测试,因为在移动!):
UPDATE tablename
SET value1 = RIGHT(CONCAT('00000', value1), 5)
WHERE LENGTH(value1) < 5
这也将填补只有0/1/2/3的字符。
SQLFiddle
mmmm.sorry。在这种情况下没有行编辑。 – Dublay
@Dublay我为此添加了一个SQLFiddle,也许它会帮助你。否则,你将不得不在你的开放文章中添加一些信息,比如你的表结构如何,例如数据等等。 – seph
@seph数据类型value1是int,那么如何连接前导零 – Sadikhasan
从“UPDATE”开始怎么样? – zerkms
请告诉我,您不要将数字存储为字符串,并且想要添加前导零。 –
不 - 这是一个int – Dublay