sql替换查询结果字符串中的字符 20

现在有两个表ta和tb,各有日期字段ta.codedate和tb.codedate,均为varchar2类型。但是ta.codedate的表示方法是2017年01月01日... 现在有两个表ta和tb,各有日期字段ta.codedate和tb.codedate,均为varchar2类型。
但是ta.codedate的表示方法是 2017年01月01日 这种中文方式,tb.codedate的表示方法是标准的2017-01-01的方式。现在我要统计ta和tb中对应相同id的相同codedate的记录条数。
select count(1)
from ta, tb
where ta.id = tb.id
and (比较条件)

现在的问题是,因为这是生产数据库上的查询统计,所以对于数据只有查询权限没有增删改的权限,因为数据量大也不宜从数据库导出。所以希望找到一个转换的函数或者方法,能把ta.codedate和tb.codedate转换到同一维度进度比较。请问该如何解决?
谢谢!
展开
 我来答
Andy_Sun321
2017-04-18 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:714万
展开全部
用replace函数将年,月替换成横杠,日替换成空,从而形成tb的标准日志格式,然后再做比较。这里给出replace的示例:
select replace(replace(REPLACE('2017年01月01日', '年', '-'), '月', '-'), '日', '')
注: 此replace函数在SQL Server数据库上适用,其他数据库可能要做相应调整。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式