DB2数据库中一个字符串 '111,222,333,444',如何取第二个或者第三个,的位置?有没有函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2数据库中一个字符串 '111,222,333,444',如何取第二个或者第三个,的位置?有没有函数?相关的知识,希望对你有一定的参考价值。

可以用substr(str,m,n)函数来取。str表示要取的字符串,m和n表示从m开始取到第n个。
例如:select substr(trim(char(字段名)),1,7) from 表名; 1-7表示,从第一个开始取到第7个。追问

我的字符串中逗号的位置是动态的,不能给静态值,问题已经解决了,DB2系统没有这样的自带函数,我自己写了一个.谢谢你的回答.

参考技术A 直接排序就行吧
order by Name asc
参考技术B 直接排序就行吧
order by Name asc
参考技术C 直接排序就行吧
order by Name asc

为啥DB2中一个汉字对应char(2) 而在MYSQL中一个汉字对应char(1) DB2和MYSQL都是用啥语言写的啊?

难道DB2是用C语言写的?
据说DB2/Oracle都是用java写的啊?
难道跟安装数据库时候选择编码有关系?

这个取决于建立数据库时采用的CODESET,例如UTF-8一个汉字对应char(3),GBK一个汉字对应char(2) 参考技术A 数据库对于字符编码的规定与它自己用什么语言编写的无任何关系。
这与它提供什么的字符编码有关。

以上是关于DB2数据库中一个字符串 '111,222,333,444',如何取第二个或者第三个,的位置?有没有函数?的主要内容,如果未能解决你的问题,请参考以下文章

java 正则表达式 判断是不是是111,222,333的格式,而不能有其他字符

在 bash 和 dash 中可靠地打印带有换行符的字符串

DB2 like查询同一天时间问题

前端 - Map对象详解

有一个字符串是这样的112,113,114,115, 如何用sql语句去去掉最后一个逗号

使用 fscanf 的 EXC_BAD_ACCESS