【发布时间】:2018-01-30 14:53:27
【问题描述】:
Invoice No
12345/1
789_2
我需要的输出如下
Invoice No
12345
789
请帮助我使用 mysql 和 laravel 5.2 实现上述结果。
提前致谢
【问题讨论】:
Invoice No
12345/1
789_2
我需要的输出如下
Invoice No
12345
789
请帮助我使用 mysql 和 laravel 5.2 实现上述结果。
提前致谢
【问题讨论】:
在 MySQL 中,我们可以使用SUBSTRING_INDEX 根据分隔符的有无来有条件地取发票的子字符串:
SELECT
CASE WHEN invoice_no LIKE '%/%' THEN SUBSTRING_INDEX(invoice_no, '/', 1)
WHEN invoice_no LIKE '%\\\\%' THEN SUBSTRING_INDEX(invoice_no, '\\', 1)
WHEN invoice_no LIKE '%\_%' THEN SUBSTRING_INDEX(invoice_no, '_', 1)
ELSE invoice_no END AS invoice_no_new
FROM yourTable;
【讨论】:
LIKE 表达式中双重转义反斜杠。