我有一个包含两个namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* Media
*
* @ORM\Table(name="medias")
* @Gedmo\TranslationEntity(class="AppBundle\Entity\Translation\MediaTranslation")
*/
class Media implements Translatable, \Serializable
{
/* [...] */
/**
* @var string|null
*
* @ORM\Column(type="text", nullable=true)
* @Gedmo\Translatable
* @Groups({"single_media"})
*/
private $description;
/* [...] */
}
列的表。我想更新我的表,以便它只复制A列的时间,并仅在B列更新该时间而不更改实际日期本身。这是我的数据:
Ctrl + Shift + i
所需的输出是:
DateTime
我试图完成这项工作,但我无法弄清楚正确的语法或者是否有可能。提前感谢大家的帮助和指导。
答案 0 :(得分:3)
一旦快速选项
Update YourTable
set [Column B] = cast(cast([Column B] as date) as datetime)+cast(cast([Column A] as time) as datetime)
答案 1 :(得分:2)
在截断a
的时间部分后,将时间从b
添加到b
:
select
a
, b = dateadd(second,datediff(second,convert(date,a),a),convert(datetime,convert(date,b)))
from t
rextester演示:http://rextester.com/IRTP42230
返回:
+---------------------+---------------------+
| a | b |
+---------------------+---------------------+
| 2017-07-07 16:30:00 | 2017-08-30 16:30:00 |
+---------------------+---------------------+