这个问题都是关于懒惰......我想做这样的事情:
select some_func(some_col), * from my_table
Run Code Online (Sandbox Code Playgroud)
所以我不必这样做:
select some_func(some_col), col_1, col_2... col_ad_infinitum from my_table
Run Code Online (Sandbox Code Playgroud)
有没有办法让第一个查询工作?这是我运行时遇到的错误:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* from my_table' at line 1
Run Code Online (Sandbox Code Playgroud)
你的意思是在MySQL你的第一个查询:
SELECT some_func(some_col), *
FROM my_table
Run Code Online (Sandbox Code Playgroud)
产生这个错误?:
错误代码:1064.您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的"*"附近使用正确的语法
您可以将代码更改为(这样可以避免错误!):
SELECT *, some_func(some_col)
FROM my_table
Run Code Online (Sandbox Code Playgroud)
或者,如果您想先计算列,请执行此操作:
SELECT some_func(some_col), t.*
FROM my_table AS t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1413 次 |
| 最近记录: |