我正在运行以下查询:
SELECT
SUBSTRING(pluginText,LOCATE('cvss', pluginText), 21) AS CVSS_Base_Score_Text,
CONVERT(SUBSTRING_INDEX(SUBSTRING(pluginText,
LOCATE('cvss', pluginText), 21),' : ',-1),UNSIGNED INTEGER)
AS CVSS_Base_Score_Number
FROM vulnerabilities_internal
WHERE LCASE(pluginText) REGEXP '.*cvss.*'并且它返回2列
CVSS_Base_Score_Text CVSS_Base_Score Number
CVSS Base Score: 4.3 4如何修改此查询,使CVSS_Base_Score_Number列中的数字超过小数点并显示为4.3?
回答了我自己的问题:
SELECT
SUBSTRING(pluginText,LOCATE('cvss', pluginText), 21) AS CVSS_Base_Score_Text,
CONVERT(SUBSTRING_INDEX(SUBSTRING(pluginText,LOCATE('cvss', pluginText), 21),' : ',
-1),
DECIMAL(10,1)) AS CVSS_Base_Score_Number
FROM vulnerabilities_internal发布于 2012-07-11 08:20:36
SELECT
SUBSTRING(pluginText,LOCATE('cvss', pluginText), 21) AS CVSS_Base_Score_Text,
CONVERT(SUBSTRING_INDEX(SUBSTRING(pluginText,LOCATE('cvss', pluginText), 21),' : ',
-1),
DECIMAL(10,1)) AS CVSS_Base_Score_Number
FROM vulnerabilities_internal 发布于 2012-05-25 04:26:57
下面的查询将给出你想要的结果。
SELECT
SUBSTRING(pluginText,LOCATE('cvss', pluginText), 21) AS CVSS_Base_Score_Text,
CAST(SUBSTRING_INDEX(SUBSTRING(pluginText,
LOCATE('cvss', pluginText), 21),' : ',-1) as decimal(2,1))
AS CVSS_Base_Score_Number
FROM vulnerabilities_internal
WHERE LCASE(pluginText) REGEXP '.*cvss.*'https://stackoverflow.com/questions/10742751
复制相似问题