[英]Add new column into mysql from another column from select statement
I have a datetime()
column date_time
in my database. 我的数据库中有一个
datetime()
列date_time
。
I need to convert this to date()
and create a new temporary column date_field
till the session ends . 我需要将其转换为
date()
并创建一个新的临时列date_field
直到会话结束 。
I've tried this: 我已经试过了:
$query1 = SELECT date_time, date(date_time) as date_field FROM table_name....
This works and creates a temp column date_field
with all the date values for the date_time
field 这可以正常工作,并创建一个临时列
date_field
以及date_time
字段的所有日期值
Problem : This only works for this query. 问题 :这仅适用于该查询。 I also have another query which searches for
date_time
field and thus results into a DB error Unknown field 'date_field'
. 我也有另一个查询,它搜索
date_time
字段,因此导致DB错误Unknown field 'date_field'
。
$query2 = SELECT date_field FROM table_name
| This table doesn't have date_field as a column
Can this field be created so that I can use this for a time till the session ends ? 可以创建此字段,以便我可以在会话结束之前使用它吗? as we do for temporary tables ?
像我们为临时表所做的一样?
Note : I can't use ALTER to add new column here due to code limitations. 注意 :由于代码限制,我无法在此处使用ALTER添加新列。
Any ideas ? 有任何想法吗 ?
Thanks! 谢谢!
In the first query, you dont really create any column, you just return aa column (date_time), run some function on it (date()) and give it an alias name (date_field). 在第一个查询中,您实际上并没有创建任何列,只是返回一个列(date_time),在其上运行某些函数(date()),并为其指定别名(date_field)。 This happens only in the result set, and abvioysly cant be used outside of this query.
这仅在结果集中发生,并且不能在此查询之外使用。
What you need to do is simply use the same in the second query: instead of select date field
you need select date(date_time) as date_field
您需要做的就是在第二个查询中使用相同的内容:代替
select date field
您需要select date(date_time) as date_field
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.