mysql - 添加 '1' 返回 "BLOB"

标签 mysql blob

JobID 如下所示:ALC-YYYYMMDD-001。前三个是公司的首字母,后三个是递增的数字,每天重置并在一天内随着工作的增加而递增,一天最多 999 个工作;我正在尝试使用的正是这最后三个。

我正在尝试获取插入前触发器以查找当天的最大 JobID,并添加一个以便触发器派生正确的 JobID。对于第一份工作,它当然会返回 null。这就是我目前所拥有的。

通过以下我可以得到'000'的结果。

set @maxjobID = 
 (select SUBSTRING(
  (Select MAX(
   SUBSTRING((Select JobID FROM jobs WHERE SUBSTRING(JobID,5,8)=date_format(curdate(), '%Y%m%d')),4,12)
             )
  ),14,3)
 );

select lpad((select ifnull(@maxjobID,0)),3,'0')

但我确实需要为此添加一个,以保留前导零以增加当天的第一个和后续作业。我的问题是,一旦尝试添加“1”,我就会得到“BLOB”的返回。即:

select lpad((select ifnull(@maxjobID,0)+1),3,'0')

返回 'BLOB'

我需要它返回“001”,以便我可以将该结果与 CO 首字母和当前日期连接起来。

最佳答案

尝试将 VARCHAR 转换回 INTEGER

SELECT lpad(SELECT (COALESCE(@maxjobID,0, CAST(@maxjobID AS SIGNED)) + 1),3,'0')

关于mysql - 添加 '1' 返回 "BLOB",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440015/

相关文章:

Oracle 包含返回误报 BLOB 的函数

php - 将文件上传到 mySQL 数据库。帮助代码

javascript - text() 方法在 Blob 中不可用

mysql - 将 ODBC Canonical 日期转换为二进制,或使用 ODBC Canonical 函数

php - Laravel 5.5 PersonalAccessToken 表新列

java - 命名查询中的 Hibernate 错误

如果来自不同表的两个 id 匹配,MySQL 将特定值插入到列中?

javascript - 使用 fetch api 远程加载 md 文件并在客户端/浏览器上解析它

php - PHP 中的 blob 数据图像损坏?

php - 我无法通过 php 上传文件