在 SQL 中转换未知键的值



给定此表:(A, B, C, ...是任意键名(

+---------+---------+---------+---------+---------+
|    A    |    B    |    C    |    D    |    E    | 
+---------+---------+---------+---------+---------+  
|  false  |   true  |  12345  | "string"|  true   | 
+---------+---------+---------+---------+---------+

有没有办法在不知道密钥集的情况下将其转换为:

+---------+---------+---------+---------+---------+
|    A    |    B    |    C    |    D    |    E    | 
+---------+---------+---------+---------+---------+  
|    0    |    1    |  12345  | "string"|    1    | 
+---------+---------+---------+---------+---------+

TLDR;我想将"true"(不是字符串(和"false"(不是字符串(的所有出现分别更改为 1 和 0。我没有密钥列表。

正如@GordonLinoff所说,在不知道列名称的情况下,您无法引用列。

在任何其他编程语言中都是一样的:

"我想更改变量的值,但我不知道变量名称。">

"嗯,这对你来说一定很难。找到变量名称后,可以更改它。

在 SQL 中也是如此。如果您不知道列名称,可以查询INFORMATION_SCHEMA以发现列名称。必须先执行此操作,然后才能针对列形成 SQL 查询。

  • Microsoft SQL Server: INFORMATION_SCHEMA
  • MySQL: INFORMATION_SCHEMA
  • PostgreSQL: INFORMATION_SCHEMA

其他品牌的数据库具有类似的元数据表,但对它们使用不同的名称。

最新更新