-
缱绻 数据领袖Lv6
发表于2019-8-13 11:49
楼主
需求场景:想要动态获取数据库表中的值作为枚举值。
mysql 举例
<#=ardb("select concat(a.NAME,':',a.CODE) from bi_gis_qh a").join(";")#>
mysql数据库只能通过concat函数进行字符串的连接。
CONCAT(s1,s2,...),返回连接参数产生的字符串,一个或多个待拼接的内容
oracle举例
方法1:<#=ardb(“select a.NAME||':'||a.CODE as str from BI_GIS_QH a”).join(“;”)#>
方法2:<#=ardb(“select concat(concat(a.NAME,':'),a.CODE) from BI_GIS_QH a”).join(“;”)#>
oracle数据库可通过以上两种方式进行字符串的拼接
不同点:
oracle数据库中的concat(s1,s2)函数中仅包含2个参数。所以若有两个及两个以上字符串需要拼接时需要嵌套concat函数;
而mysql中的CONCAT(s1,s2,...)可以直接拼接多个字符串,不用做嵌套。
“||”可以无限拼接字符串。
更多应用详见:http://help.esensoft.com/doc-view-126.html