sql - 选择以数字开头的列名
问题描述
这是出于病态的好奇心。我在这里有一个非常糟糕的表:
CREATE TABLE badtable (
id INT PRIMARY KEY,
"customer name" VARCHAR(63),
"order" VARCHAR(12),
"1st" date,
"last-date" date
);
我试图展示您何时可能迫切需要分隔的列名。但是,以下不是错误:
SELECT
"customer name",
"order",
1st, -- no delimiter
"last-date"
FROM badtable;
相反,它很高兴地给了我一个名为st
.
这适用于 PostgreSQL 和 Microsoft SQL Server,因此它不仅限于其中一个的怪癖。
如何1st
解释列名?
解决方案
在某些情况下,只要 DBMS 能够明确地读取表达式,就不需要空格。
select 1st
选择一个1。下面是别名。因此与
select 1 st
或者
select 1 as st
推荐阅读
- asp.net-core - 为什么从测试转移到 Asp.Net-Core 应用程序的生产完全不起作用
- sql - 从 postgresql 上的 json 数组中的每个 json 查询值
- javascript - 当前端和后端分开时,我如何根据数据库中的记录来呈现不同的按钮
- python - Python在组内重新采样和插值
- android - 是否可以覆盖 Dagger-2 构造函数注入进行测试?
- mysql - 对表列表中的每个条目运行查询
- java - 在 MyBatis for IBM DB2 中执行多个 INSERT 语句
- r - 如何将包含 0 和 cumsum 的新向量添加到数据帧?
- mysql - 根据条件从较大的表创建较小的表
- html - 如何在@media 和跨浏览器中水平居中 div 类?