今天在使用pivot进行行转列的时候发现一个问题:就是在pivot里面那个in里面不是可以列举一些值嘛,我列举的是英文和中文混合的字符串,这个时候发现两个字符串英文部分一样,但是中文部分不一样的话,运行sql会报错“未明确定义列”,也就是说oracle把这两个字符串当做一样的了,不知道是不是字符集的问题还是啥?求大神解答!
PIVOT(SUM(CNT) FOR AD IN(
'abc|一二三',
'abc|二二三'
))
今天在使用pivot进行行转列的时候发现一个问题:就是在pivot里面那个in里面不是可以列举一些值嘛,我列举的是英文和中文混合的字符串,这个时候发现两个字符串英文部分一样,但是中文部分不一样的话,运行sql会报错“未明确定义列”,也就是说oracle把这两个字符串当做一样的了,不知道是不是字符集的问题还是啥?求大神解答!
PIVOT(SUM(CNT) FOR AD IN(
'abc|一二三',
'abc|二二三'
))
没问题吧?我可以运行的,只要你的AD字段中有对应的值就可以啊,跟字符集没什么关系,要不你在后面起个别名试试:
select * from tb PIVOT(SUM(CNT) FOR AD IN('abc|一二三' AD1, 'abc|二二三') AD2);