SQL中的子字符串将返回错误的语法错误

时间:2020-02-05 17:56:26

标签: mysql sql substring

我需要提取小数点后的两个数字。

SELECT 
    SUBSTRING(CAST(project_code AS varchar(20)), CHARINDEX('.', CAST(project_code AS varchar(max)), 2)) 
FROM
    projects

1 个答案:

答案 0 :(得分:1)

在原始问题中提到的错误号1064看起来像是MySql错误,尽管您使用的是在SQL Server中起作用的函数CHARINDEX()
如果您使用的是MySql,则可以使用函数SUBSTRING_INDEX()

SELECT substring_index(project_code, '.', -1)
FROM projects

此代码将提取'.'之后的所有内容。
如果您只需要2个字符,则使用此字符:

SELECT left(substring_index(project_code, '.', -1), 2)
FROM projects
相关问题