【发布时间】:2021-08-22 09:13:22
【问题描述】:
使用 Firedac,有没有办法选择一组名称以相同前缀开头的列?
假设我们有列字段:PREFIX_col1、PREFIX_col2、...
是否可以提出如下请求:
SELECT 'PREFIX_*' FROM mytable;
我有这张表:[USERS] 有07 Fields:
- ID (PRIMARY kEY)
- USER_NickName
- USER_Password
- EMAIL_Recovery
- REG_Insert_DateTime
- REG_Edit_DateTime
- PICTURE
我只需要使用这样的查询选择两个字段:
SELECT USER.* FROM USERS
我的意思是在我的查询中加载这两个字段:
- USER_NickName
- USER_Password
他们有相同的前缀名称!!
我知道我上面的查询 SELECT 是错误的,但是有没有一种方法可以选择字段而不用只使用它们拥有的前缀编写所有字段名称?
...
非常重要注意:
//================================================= ========//
// FIREDAC 而不是Native SQL Statements ..!! > //
//================================================= ========//
【问题讨论】:
-
否:SELECT 不能过滤列,只能过滤数据集。
-
@AmigoJack 和
information_schema.columns呢? -
@Roberto 仍在过滤数据集,而不是列。 @MartynA 是的:指定。但不过滤。
SELECT t.di*k FROM table AS t不允许在我遇到的任何 DBMS 中使用。 -
@MartynA 是的:只允许
SELECT t.* FROM table AS t从该表中获取所有列 - 否则您必须完全指定所需的列。短格式:SELECT * FROM table -
等等——为什么这个问题的文字和例子和this Q from almost 11 years ago一样?