diff --git a/datafusion/sqllogictest/test_files/position.slt b/datafusion/sqllogictest/test_files/position.slt deleted file mode 100644 index c1141ab06943..000000000000 --- a/datafusion/sqllogictest/test_files/position.slt +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# test position in select -query I -select position('world' in 'hello world'); ----- -7 - - - -# test in expression -query I -select 1000 where position('world' in 'hello world') != 100; ----- -1000 - - -# test in expression -query I -select 100000 where position('legend' in 'league of legend') = 11; ----- -100000 - - -# test in expression -query I -select 100000 where position('legend' in 'league of legend') != 11; ----- diff --git a/datafusion/sqllogictest/test_files/scalar.slt b/datafusion/sqllogictest/test_files/scalar.slt index ca313820ab02..cfc0caa90074 100644 --- a/datafusion/sqllogictest/test_files/scalar.slt +++ b/datafusion/sqllogictest/test_files/scalar.slt @@ -1957,3 +1957,42 @@ query T SELECT CASE 3 WHEN 1+2 THEN 'first' WHEN 1+1+1 THEN 'second' END ---- first + +# position test +query I +select position('world' in 'hello world'); +---- +7 + +# test in expression +query I +select 1000 where position('world' in 'hello world') != 100; +---- +1000 + +# test in expression +query I +select 100000 where position('legend' in 'league of legend') != 11; +---- + +# test in expression +query I +select 100000 where position('legend' in 'league of legend') = 11; +---- +100000 + +# test null +query ? +select position(null in null) +---- +NULL + + +query I +select position('' in '') +---- +1 + + +query error DataFusion error: Error during planning: The "instr" function can only accept strings, but got Int64\. +select position(1 in 1)