如何将之前为0001而现在应该为0002的字段增加+1? 我目前正在使用以下命令:
SELECT fieldA+1
FROM table
WHERE ID = 1234;
但这只会把0001变成2
这是一个非常基本的问题,但我不明白.
如何将之前为0001而现在应该为0002的字段增加+1? 我目前正在使用以下命令:
SELECT fieldA+1
FROM table
WHERE ID = 1234;
但这只会把0001变成2
这是一个非常基本的问题,但我不明白.
类型为INT
的字段必须首先转换为字符串(或CHAR
),以便执行基于字符串的操作,例如填充-尽管这可能会被隐式地处理.
例如:
SELECT
LPAD(fieldA + 1, 4, '0') as fieldA_
FROM table
WHERE ID = 1234;
fieldA_ |
---|
0002 |
其中,LPAD
个参数如下:LPAD(str, len [,padstr])
.
相关文档:
旁白:
设计人员必须确保焊盘长度足够,否则字符为will be truncated.
可以考虑将"格式化"活动留给前端,而将"数据"活动留给后端(即数据库).不管你决定采取哪种方式,be consistent美元.如果/当更新时,其他开发人员和维护人员可能会感到沮丧,因为他们不知道在应用更新时到底要看哪里.(例如此更改适用于数据库还是应用程序?这是一个经常被问到的问题.)
Take-away:考虑到获得正确的焊盘长度的潜在复杂性(查看下面的注释)-just do the formatting in the application itself.让数据库句柄data和应用程序句柄presentation.
编辑:
CAST
的 comments .