我在以YYmmdd格式更新日期时遇到查询问题。我使用Mysql数据库
这是我试图执行的查询
update table set DATE(Birthday)=STR_TO_DATE(‘470330’, %Y%m%d) where ID=1;
有谁知道我的查询有什么问题?
答案 0 :(得分:1)
格式必须也是一个字符串。这是tutorial。
STR_TO_DATE('470330','%Y%m%d');
答案 1 :(得分:1)
update table_name set Birthday=STR_TO_DATE('19470330', '%Y%m%d') where ID=1;
更正:
可以将值分配给列(Birthday
;而不是功能:DATE(Birthday)
)
日期格式字符串:%Y
- 四位数年份,%y
- 两位数年份
字符串文字必须在单'
或双"
引号中引用
答案 2 :(得分:1)
您需要将格式参数放入字符串中,如下所示:
STR_TO_DATE(' 470330','%Y%米%d&#39)
假设您的列名实际上是:" DATE(生日)"并且您不会试图非法调用日期函数,并且您的表名实际上是:" table"然后:
我希望你的查询是:
update `table` set `DATE(Birthday)`=STR_TO_DATE('470330', '%Y%m%d') where ID=1;
或使用引号而不是反引号,具体取决于数据库的设置方式。