我在用户数据库中有字段名称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?
答案 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,'/','-')