是否可以在Oracle的功能中更改def getCombinations5(list1):
list1=list1
list2=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
#print list2
#str1='123456'
str1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]
#print str1
list3=[]
for value in combi(str1,8):
#print '#############################'
#print list3
#print value
#print list2[int(value[0])]
list2[int(value[0])]=0
list2[int(value[1])]=0
list2[int(value[2])]=0
list2[int(value[3])]=0
list2[int(value[4])]=0
list2[int(value[5])]=0
list2[int(value[6])]=0
list2[int(value[7])]=0
#print list2
list3.append(list2[:])
#print list3
#print list3
list2[int(value[0])]=1
list2[int(value[1])]=1
list2[int(value[2])]=1
list2[int(value[3])]=1
list2[int(value[4])]=1
list2[int(value[5])]=1
list2[int(value[6])]=1
list2[int(value[7])]=1
#print '@@@@@@@@@@@@@@@@@'
#print len(list3)
#print list2
print len(list3)
list4=[]
for value in list3:
str2=''.join(str(e) for e in value)
if '00000000' in str2 or '0000000' in str2 or '000000' in str2 or '00000' in str2 or '0000' in str2:
continue
elif '000' in str2:
continue
else:
list0=list(str2)
#print list0
list0=map(int, list0)
list4.append(list0)
print list4
我有这样的功能
NLS_DATE_Format
但这给了我错误:
错误(8,4):PLS-00103:在预期以下情况之一时遇到符号“ ALTER”:如果循环模式为null,则返回goto声明退出;如果使用<<关闭当前删除,则返回选择更新锁定插入打开回滚保存点集sql执行commit forall合并管道将符号“ update插入到“ ALTER”之前才能继续。
我想在选择命令之前更改 create or replace Procedure GETFLOWSHEETRESULT
(
....
) AS
BEGIN
alter session set nls_date_format = 'DD-MM-YYYY HH24:MI:SS';
Select AVNR,Wert From E_MW_01MIN_MIT Where DBTM='17-06-2018 16:20:00' and AVNR In (2085,2075,2089,2071);
alter session set nls_date_format = 'DD-MON-RR';
END GETFLOWSHEETRESULT;
。每次会话都一样,该如何更改?
答案 0 :(得分:4)
最常见的是使用to_date函数将日期字符串转换为日期值。
Select AVNR,Wert
From E_MW_01MIN_MIT
Where DBTM=to_date('17-06-2018 16:20:00','DD-MM-YYYY HH24:MI:SS')
and AVNR In (2085,2075,2089,2071);
如果您仍要更改NLS_DATE_FORMAT,请尝试:
execute immediate 'alter session.... ';