H2数据库查询设置列别名报错,如何正确设置列显示名称?
H2数据库带空格列别名的正确设置方式
错误原因是H2不支持用单引号'包裹带空格的列别名——单引号在SQL里是用来定义字符串常量的,不是标识符(比如别名)的引用符号,所以会被判定为语法错误。
你可以用以下几种正确方式设置带空格的别名:
使用双引号(SQL标准写法,推荐)
SELECT testID AS "Your ID", testName AS "Your Name", testAddr AS "Your Address" FROM test;使用方括号(兼容部分数据库的写法)
SELECT testID AS [Your ID], testName AS [Your Name], testAddr AS [Your Address] FROM test;改用无空格的别名(避免特殊符号的写法)
如果不需要空格展示,也可以用下划线替代空格,这样不需要额外包裹:SELECT testID AS Your_ID, testName AS Your_Name, testAddr AS Your_Address FROM test;
另外补充:如果你的H2启用了特定兼容模式(比如MySQL模式),单引号可能能生效,但这种写法不符合SQL标准,跨数据库兼容性差,不建议使用。
内容的提问来源于stack exchange,提问作者JavaUser007
相关产品推荐
相关产品推荐

