1

我有一个如下的存储过程:

SET temp_Today = SUBSTR(( NOW() + 0) FROM 3 FOR 6);
SET temp_LastIdDoc = CONCAT(temp_Today,temp_IdAgency);
SELECT NumDoc FROM tbldocument WHERE NumDoc REGEXP '^temp_LastIdDoc';

我知道这是错误的,因为它搜索以“temp_LastIdDoc”开头的 NumDoc。如何在此查询中使用 temp_LastIdDoc 作为参数?另一个问题是我如何将后面的字符限制为 4 个字符?

4

2 回答 2

2

字符串以变量开头,temp_LastIdDoc以 4 个字符 ( ....$)结尾

SELECT NumDoc FROM tbldocument 
  WHERE NumDoc REGEXP CONCAT('^',temp_LastIdDoc,'....$');
于 2012-12-29T11:52:47.193 回答
1

您可以使用这种方式 -

SET temp_LastIdDoc = CONCAT('^', temp_Today, temp_IdAgency);
SELECT NumDoc FROM tbldocument WHERE NumDoc REGEXP temp_LastIdDoc;
于 2012-12-29T11:47:00.847 回答