我有一個問題的兩個部分:二郎:字符串列出
第一部分: 我有一個變量,「filtro_x」,即有一個字符串。 我想將該字符串(「1,2,3」)轉換爲列表([1,2,3]),所以我可以將它分配給一個新的變量。
第二部分: 我可以直接在查詢中使用這個新變量嗎? SELECT field1,field2,field3 FROM tab_name WHERE field1 = ANY($ 1);
任何人都可以請我說說如何去做?
謝謝 瑞
我有一個問題的兩個部分:二郎:字符串列出
第一部分: 我有一個變量,「filtro_x」,即有一個字符串。 我想將該字符串(「1,2,3」)轉換爲列表([1,2,3]),所以我可以將它分配給一個新的變量。
第二部分: 我可以直接在查詢中使用這個新變量嗎? SELECT field1,field2,field3 FROM tab_name WHERE field1 = ANY($ 1);
任何人都可以請我說說如何去做?
謝謝 瑞
對於第一部分,我設法用下面的指令成功:
[begin {Int,_}=string:to_integer(Token), Int end|| Token<-string:tokens(String," ")]
現在,在第二部分的工作。
謝謝。
我有一個變量,「filtro_x」
在Erlang中,變量以大寫字母開頭,而他們沒有他們周圍的報價。
對於第一部分,我設法用下面的指令成功:
39> String = "1,2,3". "1,2,3" 40> Numbers = [begin {Int,_}=string:to_integer(Token), Int end|| Token<-string:tokens(String," ")]. [1]
嘗試:
您的解決方案甚至沒有你在你的問題中提出的字符串工作這樣的:
53> String1 = "1,2,3".
"1,2,3"
54> Numbers = [ element(1, string:to_integer(Substr)) || Substr <- string:tokens(String1, ", ")].
[1,2,3]
59> String2 = "1,20, 130,4, 67".
"1,20, 130,4, 67"
60> Numbers = [ element(1, string:to_integer(Substr)) || Substr <- string:tokens(String2, ", ")].
[1,20,130,4,67]
我可以直接在查詢中使用這個新變量,如下所示? SELECT field1,field2,field3 FROM tab_name WHERE field1 = ANY($ 1);
這不是Erlang。如果你問是否可以將一個變量插入一個字符串中,你當然可以。使用~s
控制序列:
88> String = "SELECT field1, field2, field3 FROM tab_name WHERE field1 = ANY(~s)".
"SELECT field1, field2, field3 FROM tab_name WHERE field1 = ANY(~s)"
89> Insert = "1,2,3".
"1,2,3"
90> Query = lists:flatten(io_lib:format(String, [Insert])).
"SELECT field1, field2, field3 FROM tab_name WHERE field1 = ANY(1,2,3)"
或者:
92> String1 = "1,2,3".
"1,2,3"
93> Query = lists:flatten([
93> "SELECT field1, field2, field3 FROM tab_name WHERE field1 = ANY(",
93> String1,
93> $)
93> ]).
"SELECT field1, field2, field3 FROM tab_name WHERE field1 = ANY(1,2,3)"