今天在用mysql写语句查询的时候,遇到了两个问题
第一个就是用CONCAT函数连接参数时,遇中文就乱码
第二个就是连接的时候,连接的字显示不完全
刚开始我写的sql语句是这样的:(这个是简化后的,原本是多个表连接还有很多查询条件,所以就加了group by)
SELECT
CONCAT(YEAR(con.record_time),'年',QUARTER(con.record_time),'季度') AS record_time
FROM consignation con
GROUP BY con.record_time
加了group by 就乱码
后来查了一些资料后,知道有两种方法可以解决乱码,一种是用cast,另外一种是用CONVERT,原理都是一样的就是要将
一个数字参数被转化为与之相等的二进制字符串格式
SELECT
CONCAT(cast(YEAR(con.record_time) as char),'年',CONVERT(QUARTER(con.record_time),char),'季度') AS record_time
FROM consignation con
GROUP BY con.record_time
改了之后第二个问题出现了,它只显示一个2012,年后面的都没显示,看了一会才知道,原来是char类型我没定义大小
所以最后就改成一下这个了
SELECT
CONCAT(cast(YEAR(con.record_time) as char(4)),'年',CONVERT(QUARTER(con.record_time),char(1)),'季度') AS record_time
FROM consignation con
GROUP BY con.record_time
分享到:
相关推荐
主要解决oracle低版本(例如9i)无法使用WM_CONCAT函数实现多行字段拼接问题,参考附件中样例即可
### Oracle 创建wm_concat函数 #### 知识点一:Oracle 10G及以下版本的wm_concat函数自定义实现 在Oracle 10G及更早版本中,并没有内置的`wm_concat`函数,该函数主要用于对一组字符串进行连接操作。为了在这些...
在CODESYS编程环境中,CONCAT函数是一个非常实用的字符串处理函数,它用于将多个字符串连接成一个单一的字符串。在工业自动化领域,特别是在基于IEC 61131-3标准的编程中,理解并熟练运用CONCAT函数是至关重要的,...
本压缩包文件"自写函数用于替换wm_concat函数.zip"提供了一个解决方案,即一个自定义的SQL函数,用于在不支持`WM_CONCAT`的环境中合并行数据。 首先,我们需要理解`WM_CONCAT`的作用。在Oracle 10g及更早版本中,`...
在Oracle数据库环境中,WMSYS.WM_CONCAT函数是一个用于字符串连接的实用工具,尤其在处理多值列时非常有用。然而,有时由于各种原因,这个函数可能丢失或损坏,需要进行重建。以下是对重建WMSYS.WM_CONCAT函数涉及的...
标题中的"wm_concat函数所需资源包"是指解决`WM_CONCAT()`在新版本Oracle中无法使用的问题的相关资源集合。 描述中提到的链接指向了一篇CSDN博客文章,该文章提供了详细的解决方案。在这里,我们将深入探讨`WM_...
标题“解决Oracle没有WM_CONCAT函数”暗示了这个问题的背景:用户在尝试使用WM_CONCAT时遇到了问题,或者想要在不支持此函数的数据库环境中实现类似的功能。这可能是因为他们正在处理需要聚合多个字符串字段的查询,...
在Oracle数据库中,`wm_concat`函数曾是一个非常实用的工具,用于将多个行的数据合并成单个字符串,尤其在需要进行数据汇总时非常方便。然而,从Oracle 11g版本开始,出于性能和安全性的考虑,Oracle官方取消了这个...
1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:sqlplus -logon sys/123 as sysdba 3、执行@C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmaggrb.plb; 如果执行结果报错,说找不...
oracle 9i 实现wm_concat函数 进行一列多行合并,之间使用,分割
根据给定文件的信息,本文将深入探讨“wmsys_wm_concat函数结果拆解”的相关知识点,包括该函数的基本概念、应用场景以及SQL示例代码的详细解析。 ### wmsys_wm_concat函数简介 在Oracle数据库中,`wmsys.wm_...
Oracle10g之后有些版本已不包含WMSYS.WM_CONCAT函数,若用到此函数, 系统会提示异常:ORA-00904: "WM_CONCAT": invalid identifier 因此需单独重建此函数,方法如下: 解压附件,在sqlplus中执行包里的owmctab....
这个错误通常意味着试图访问或使用`WMSYS.WM_CONCAT`函数时遇到了问题,这是一个在早期Oracle版本中提供的聚合函数,用于字符串连接,但在较新的版本中被弃用并替换为其他更安全和高效的解决方案。 `WMSYS`是Oracle...
在MySQL数据库中,`CONCAT`函数用于将两个或更多的字符串连接成一个单一的字符串。这个函数非常实用,尤其是在处理涉及字符串拼接的查询时。`CONCAT`的基本语法如下: ```sql CONCAT(str1, str2, ..., str_n) ``` ...
Oracle从12C版本开始,不支持wm_concat函数,我们可以采取的办法有使用listagg函数代替wm_concat函数,或者为了减小修改程序的工作量,可以通过手工创建wm_concat函数来解决这个问题。
在CONCAT函数出现之前,我们通常使用 "+" 运算符来连接字符串,但这种方法存在一个问题,即如果其中任何一个字符串是NULL,整个结果也会变成NULL。而CONCAT函数则会自动忽略NULL值,这大大提高了处理字符串连接时的...
解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 在sqlplus中执行包里的owmctab.plb、owmaggrs.plb、owmaggrb.plb三个脚本即可。 简单来说,用PL/SQL执行下一下几个脚本就可以了。 特别要注意:PL/SQL登录时,要...
包含owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 三个文件,可解决OracleXE中没有WM_CONCAT函数的问题;解决方案如下:1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:...