- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试找到一种在 ID 开头添加 0 而无需修剪它的方法:
我目前正在使用 LPAD(id,4,"0")
女巫工作正常,直到 9999
SELECT LPAD(12345,4,"0");
12345
1234
我正在寻找执行 LPAD(id, MAX(LENGTH(id),4), "0")
我找到了 SELECT IF(LENGTH(12345)>4, 12345, LPAD(12345, 4, "0"));
但我更喜欢 4
在一个地方(以便在其他地方更容易使用)。
MAX()
的方法可以在这种情况下工作?IF(LENGTH)
解决方案及其缺点?编辑:
ZEROFILL
不符合我的需要,因为我还需要没有 0
的 id。我主要使用不带 LPAD()
的 ID,但是当我这样做时,我使用带有前缀的 ID:CONCAT("PFX", LPAD(id,4,"0"))
感谢您的帮助
PS:如果我做错了什么,请告诉我,这是我第一次在这里提问。
最佳答案
好吧,我在 LPAD 上遇到了类似的问题,它会将数字截断到它的填充长度。根据https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_lpad这是预期的结果。
据我所知,没有人提到解决我同样问题的答案:
LPAD(id, GREATEST(LENGTH(id), 4), "0")
它按预期工作。用 0 填充任何短于 4 个字符的 id
,并返回长于 4 个字符的不变 id
。
我把我的答案留给其他人,他们将来会找到这个问题。
关于mysql - LPAD 在 mysql 中没有修剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54909026/
我想调用函数_.lpad('1', 2, '0')但 chrome 告诉我 Uncaught TypeError: _.lpad is not a function 。我已经将脚本标记包含在 HTML
我有发票编号的表格。准则规定数字应包含 6 位或更多位数字。首先尝试做: UPDATE t1 SET NUMER=CONCAT('00000',NUMER) WHERE LENGTH(NUMER)=1
我有发票编号的表格。准则规定数字应包含 6 位或更多位数字。首先尝试做: UPDATE t1 SET NUMER=CONCAT('00000',NUMER) WHERE LENGTH(NUMER)=1
我有如下表格: code ---> INTEGER name ---> CHAR +------+------+ | code | name | +------+------+ | 1 | a
这里有一些我无法解释的东西,希望能得到一些帮助,看看我明显遗漏了什么:) 在解决这个问题时: Oracle SQL to Sort Version Numbers 我想聪明的 regexp_repla
使用 Oracle 19c,以下过程需要几秒钟才能编译。也可以使用 db<>fiddle 重现(18c 和 21c)。 对于 Oracle 12.1,它会立即编译。 CREATE OR REPLACE
我试图用 0 向左填充一个字符串。输出字符串的长度应该是 7。 这是我的代码: inputstr = "38" in = string(7 - Len(inputStr),0) & inputStr
我正在使用 PostgreSQL 9.5 并且有一个表,其中包含名称的“area_name”文本列,这些名称具有编号扩展名: area_name ---------------- AREA AREA
我正在尝试找到一种在 ID 开头添加 0 而无需修剪它的方法: 我目前正在使用 LPAD(id,4,"0") 女巫工作正常,直到 9999 请求:SELECT LPAD(12345,4,"0"); 异
我想对齐我的专栏“Gesamt”: SELECT k.KUNDENID AS ID, vorname AS Vorname, nachname AS Nachname,
我正在尝试使用 LPAD 和 RPAD 命令编写一个将生成“Oracle$$$Internet$$$Academy”的语句。到目前为止,这是我所拥有的,但是我收到了缺少右括号的错误。 SELECT L
NLS_CHARACTERSET 在我的 Oracle 数据库中是 AL23UTF8。 使用 RPAD 功能时遇到问题: Connected to Oracle Database 11g Enterp
我很好奇如何以最通用的方式正式地为 SQLite 模拟 RPAD 和 LPAD 函数。目标是能够做到 LPAD(column, character, repeat) RPAD(column, char
我在 SQL Server 2008 中看不到像 LPAD 这样的函数。例如,如何将以下查询转换为 T-SQL? select LPAD(MY_VALUE,2,' ')) VALUE FROM MY
我有一个需要左键的查询——我遇到的问题是在使用 string.PadLeft() 时它会导致查询在 C# 代码中执行,而不是作为 SQL 执行。 例子: response.FirstOrDefault
我正在尝试从 MySQL 中的不同表中选择多个列。 MySQL: CREATE TABLE IF NOT EXISTS movie( movie_id TINYINT(3) UNSIGNED
我遇到了一个非常奇怪的问题,即 Oracle 12c 不像 Oracle 11g 那样管理 2 字节字符,导致 LPAD 等某些功能出现问题。 我们有两个数据库,一个 11g 和一个 12c,具有相同
鉴于 l 是一个整数列表并且 win 是一个整数,下面的代码生成一个列表 lpadded: lpadded = win // 2 * [-1] + l + win // 2 * [-1] 在 lpad
我是一名优秀的程序员,十分优秀!