0
‘ union select null,concat(table_name,0x0a,column_name) 

from information_schema.columns where table_name= ‘users’#

我想知道上述语句中的 0x0a 代表什么。

非常感谢

4

3 回答 3

1

0x0A 等于十进制 10(十)。这等于 LF(换行)的 ASCII 码,在许多系统上都是换行符。根据您的类型,它是数字 10字符LF。

于 2013-02-03T13:09:01.907 回答
0

它将显示 table_name 和表“users”的 column_name 下方,可能针对每一列:

users
----------
col1
col2
于 2013-02-03T13:11:25.687 回答
0

这都可以从文档中得出。

CONCAT(table_name,0x0a,column_name)对于每一行,伪列的结果将是 的值table_name,将1连接换行符(十六进制2 0x0A,十进制 10 或),连接到 的值。LFcolumn_name

也就是说,对于每一行数据,您将看到 的值table_name,然后在视觉“下方”的一行中:column_name

+------------+---------------+---------------------------------------+
| table_name |  column_name  |  CONCAT(table_name,0x0a,column_name)  |
+------------+---------------+---------------------------------------+
|     a      |       b       |                   a                   |
|            |               |                   b                   |
+------------+---------------+---------------------------------------+
|     c      |       d       |                   c                   |
|            |               |                   d                   |
+------------+---------------+---------------------------------------+
|     e      |       f       |                   e                   |
|            |               |                   f                   |
+------------+---------------+---------------------------------------+

只有你可能知道你是否“需要”这个,但它看起来确实不寻常。通常,您只需在结果集中独立包含table_namecolumn_name在其他地方进行演示/格式化。

SELECT table_name, column_name

此外,对于表中的列,两者的名称都非常令人困惑table_namecolumn_name但是,如果您从包含有关其他表的信息的 MySQL 元表中选择数据,则它可能是相关的。


1 字符串连接是将两个字符串首尾相连的操作

2 十六进制(也以 16 为基数或十六进制)是一个位置数字系统,其基数或基数为 16

于 2013-02-03T13:13:09.313 回答