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

from information_schema.columns where table_name= ‘users’#


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

非常感谢

最佳答案

这些都可以从文档中得出。

对于每一行,伪列CONCAT(table_name,0x0a,column_name)的结果将是table_nameconcatenated 1到换行符(十六进制2 0x0A,十进制10或LF)的值,并与该值连接的column_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 string concatenation is the operation of joining two character strings end-to-end

2 hexadecimal (also base 16, or hex) is a positional numeral system with a radix, or base, of 16

关于mysql - 如果在查询中使用0x0a,代表什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14672792/

10-12 02:10