如何将之前为 0001 的字段增加 +1,然后变为 0002?我目前正在使用以下命令:
SELECT fieldA+1
FROM table
WHERE ID = 1234;
Run Code Online (Sandbox Code Playgroud)
但这只是将 0001 变成 2
这是一个非常基本的问题,但我不明白
类型字段INT必须首先转换为字符串(或CHAR),以便执行基于字符串的操作,例如 pad - 尽管这可能会在“幕后”隐式处理。
例如:
SELECT
LPAD(fieldA + 1, 4, '0') as fieldA_
FROM table
WHERE ID = 1234;
Run Code Online (Sandbox Code Playgroud)
| 字段A_ |
|---|
| 0002 |
其中LPAD参数如下:LPAD(str, len [,padstr]).
相关文档:
在旁边:
设计者必须保证pad的长度足够,否则字符会被截断。
可能需要考虑将“格式化”活动留给前端,并将“数据”活动留给后端(即数据库)。无论您决定采取哪种方法,都要保持一致。如果/当更新时,其他开发人员和维护人员可能会感到沮丧,因为他们不知道在应用更新时到底要在哪里查看。(例如,“此更改适用于数据库还是应用程序?”是一个经常被问到的问题。)
要点:考虑到使焊盘长度正确的潜在复杂性(请查看下面的评论) -只需在应用程序本身中进行格式化即可。让数据库处理数据,让应用程序处理表示。
编辑:
CAST发表了评论,指出不需要致电。| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |