Sql 修剪数据集中长度大于x的前导0
以这张桌子为例 表1:Sql 修剪数据集中长度大于x的前导0,sql,sqlite,dataset,querying,Sql,Sqlite,Dataset,Querying,以这张桌子为例 表1: Name. ID David 00513 George 0523 Carmen 3216 在这个表中,我只想修剪David的前导0,因为他的ID大于4位。我不想为乔治修剪前导的0 在SQL中执行此操作的最佳方法是什么?最简单的方法是: select right(id, 4) 如果您担心ID长度超过4个字符,但初始字符不为零: select (case when length(id) > 4 then replace(ltrim(re
Name. ID
David 00513
George 0523
Carmen 3216
在这个表中,我只想修剪David的前导0,因为他的ID大于4位。我不想为乔治修剪前导的0
在SQL中执行此操作的最佳方法是什么?最简单的方法是:
select right(id, 4)
如果您担心ID长度超过4个字符,但初始字符不为零:
select (case when length(id) > 4
then replace(ltrim(replace(id, '0', ' ')), ' ', '0')
else id
end)
最简单的方法就是:
select right(id, 4)
如果您担心ID长度超过4个字符,但初始字符不为零:
select (case when length(id) > 4
then replace(ltrim(replace(id, '0', ' ')), ' ', '0')
else id
end)
如果您不关心初始非零被切碎,那么
select substr(ID,-4);
应该有用。如果首字母不为零的数字可能超过4位,则使用
select printf('%04d', ID);
(假设ID中的所有字符都是数字)如果您不关心初始非零被切碎,那么
select substr(ID,-4);
应该有用。如果首字母不为零的数字可能超过4位,则使用
select printf('%04d', ID);
(假设ID中的所有字符都是数字)MySQL还是SQLite?两者都是不同的RDBMSwA,都在寻找解决方案。修复了发布到sqlite可能会导致MySQL或sqlite混乱的问题?两者都是不同的RDBMSwA,都在寻找解决方案。修复了发布到sqlite的问题,因为它可能会导致混乱