在SQL中,我如何删除(在我的报告中显示no deleting from database)前3个字符(CN=)以及逗号后面跟"OU“的所有内容,以便在同一列中保留姓名和姓氏?例如:
CN=Tom Chess,OU=records,DC=1234564786_data for testing, 1234567
CN=Jack Bauer,OU=records,DC=1234564786_data for testing, 1234567
CN=John Snow,OU=records,DC=1234564786_data for testing, 1234567
CN=Anna Rodriguez,OU=records,DC=1234564786_data for testing, 1234567所需的显示:
Tom Chess
Jack Bauer
John Snow
Anna Rodriguez我试过使用TRIM,但我不知道如何在不声明位置的情况下做到这一点,而且名字和姓氏的长度不同,我真的不知道该如何处理。
提前谢谢你
更新:我想知道一种方法,使用定位来匹配逗号的位置,然后将其提供给子字符串。不确定像这样的方法是否有效,也不确定如何将语法组合在一起。你认为如何?这是一个可行的方法吗?
发布于 2019-07-13 07:26:43
在我的Z/OS DB2版本中,CHARINDEX抛出了一个语法错误。这里有两种方法来解决这个问题。
SUBSTRING(ColumnName, 4, INSTR(ColumnName,',',1) - 4)
SUBSTRING(ColumnName, 4, LOCATE_IN_STRING(ColumnName,',') - 4)我要补充的是,该版本为V12R1
https://stackoverflow.com/questions/56999495
复制相似问题