如果标题有歧义,我深表歉意。
我有一个名为 data
的表,该表中有一个名为 barcode
的列
条形码看起来类似于:
TEST210001m1c8Wsa
条码格式如下:
工作:TEST2
自增nr:10001
类型标识符:m1
唯一标识:c8Wsa
我正在尝试计算整个表格列中与作业、类型 ID 和唯一 ID 匹配的条形码数量。我不关心自动增量。我正在使用以下查询,但它似乎没有像我预期的那样工作:
SELECT COUNT(*) FROM data WHERE barcode LIKE 'test2%' AND SUBSTRING('m1', LENGTH(barcode)-7,2)='m1' AND RIGHT('c8Wsa', 5)='c8Wsa'
我确信我使用的 SUBSTRING
不正确,因为如果我删除它,查询会按预期返回结果。有人能告诉我我做错了什么吗?我确定这是我遗漏的一些小东西。
最佳答案
您需要为 substring()
函数中的第一个参数指定列名,同样为 right()
函数指定列名
SELECT COUNT(*) FROM data
WHERE barcode LIKE 'test2%' AND SUBSTRING(barcode, LENGTH(barcode)-6,2)='m1'
AND RIGHT(barcode , 5)='c8Wsa'
关于mysql - COUNT 查询中的 SUBSTRING 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184396/