更新表的字段

时间:2014-02-18 17:16:29

标签: mysql sql replace phpmyadmin

我在用户数据库中有字段名称birthdate 一些用户生日就像=

  

2014年2月18日

和其他一些人喜欢=

  

2014年2月18日

我应该使用birthdate varchar(10)

所以我想将2014/02/18更改为2014-02-18

SELECT `birthdate` 
FROM `users` 
WHERE `birthdate` LIKE  '%%%%/%%/%%' REPLACE '%%%%-%%-%%'

此代码只选择2014/02/18

的用户

如何在sql选项卡中将其替换为2014-02-18?

3 个答案:

答案 0 :(得分:1)

如果您只想将/替换为-,可以像这样进行比较:

SELECT `birthdate` 
FROM `users` 
WHERE replace( `birthdate`, '/', '-' ) LIKE  '2014-02-18'

否则,从日期字段值中删除/-,并比较YYYYMMDD格式化的值。

SELECT `birthdate` 
FROM `users` 
WHERE replace( replace( `birthdate`, '/', '' ), '-', '' ) LIKE  '20140218'

答案 1 :(得分:0)

如果要更改数据,则需要更新语句:

update users
    set birthdate = replace(birthdate, '/', '-')
    where birthdate like '%/%/%';

但是,您应该学会将日期存储为日期而不是字符串。

答案 2 :(得分:0)

使用替换功能

replace(birthdate,'/','-')