SQL

时间:2017-03-24 08:17:13

标签: javascript mysql

我需要使用javascript验证ESN号码。通过使用简单的正则表达式和if语句,我很成功地取得了成功:

 $('#ESN_val').on('keyup', function () {
                var ESN = document.getElementById('ESN_val').value;
                if (/^[0-9A-F]{8}$/.test(ESN) && ESN.length == 8) {              
                alert('valid ESN')
                }else{
                    'invalid ESN'
                } 
            });

现在我只需要在整个数据包含在附加的表中时从sql获得相同的结果。 Table tsp_filtered_data name:

我需要以下格式的查询。应该有一个新列,它应该包含“有效ESN”或“无效ESN”

SELECT
tsp_filtered_data.Document_id,
tsp_filtered_data.ESN,
(**********Regular Expresseion********) AS ESN_status 
FROM
tsp_filtered_data

请告诉我应该包含的查询。

2 个答案:

答案 0 :(得分:0)

您可以使用REGEXP运算符检查匹配项。结果它将返回0或1。

SELECT
tsp_filtered_data.Document_id,
tsp_filtered_data.ESN,
tsp_filtered_data.ESN REGEXP '^[0-9A-F]{8}$' AS ESN_status 
FROM
tsp_filtered_data

答案 1 :(得分:0)

一个案例,而RLIKE/REGEX应该这样做。

SELECT
t.Document_id,
t.ESN,
case when t.ESN RLIKE '^[0-9A-F]{8}$' then 'valid ESN' else 'invalid ESN'  end AS ESN_status 
FROM
tsp_filtered_data t