这一直困扰着我。基于 SQL 的服务器中的字符串函数似乎总是从位置 1 开始(至少 MySQL、SQL Server、Oracle 和 Postgres 是这种情况)。例如,以下查询将用于选择名称数据库中名为 first_name 的列的第一个字母:
SELECT SUBSTRING(first_name,1,1) FROM names;
Run Code Online (Sandbox Code Playgroud)
为什么字符串函数的位置不像几乎所有编程语言的规范那样从 0 开始?
我正在寻找的不仅仅是 ANSI 标准。为什么是标准?
编辑:好的,所以 0 不是“几乎所有编程语言中的规范”,正如下面所指出的。1 也被使用。