**已关闭。**此问题需要debugging details。目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
18天前关门了。
Improve this question的
我有以下字符串/char/varchar:
'abhuvuyvvBDUYWGFEGFkmnxsjanchbYYSG'
字符串
如何编写一个SQL语句,使用Oracle中的SQL从上述字符串中只提取10个字符:
所需输出:
B
D
U
Y
W
G
F
E
G
F
Y
Y
S
G
型
3条答案
按热度按时间aelbi1ox1#
类似于Barbaros建议的(分层查询),但如果您的字符集不是ASCII,则可能会更安全一些。例如,条件(ASCII值在65和90之间,无法 * 捕获 * 克罗地亚大写字母)。
字符串
请参阅fiddle。
ubbxdtey2#
您可以使用分层查询沿着
SUBSTR()
,以便逐个读取字母,同时通过ASCII()
函数确定它们的数值,以适合以下范围字符串
vktxenjb3#
如果您只想在只包含大小写混合字母字符的列中使用大写字符,则用途:
字符串
或者,对于任何字符(但它会比使用
TRANSLATE
慢):型
其中,对于样本数据:
型
两个输出:
| 大写字符|
| --|
| BDUYWGFEGFYYSG|
如果你想在每个大写字符之间都有一个回车符,那么:
型
其输出:
| 大写字符|
| --|
| B D U Y W G F E G F Y Y S G|
fiddle