Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ms access sql查询中是否有可以提取特定字符串的函数?_Sql_String_Ms Access_Substring - Fatal编程技术网

ms access sql查询中是否有可以提取特定字符串的函数?

ms access sql查询中是否有可以提取特定字符串的函数?,sql,string,ms-access,substring,Sql,String,Ms Access,Substring,我想知道MS Access SQL查询中是否有一个函数,使用该函数可以提取列中每个单元格的给定字符串,类似于子字符串,但使用字符串作为条件 例如,我想从以下名为“歌词”的专栏中提取关键字SUN和FUN 歌词 因此,我只剩下: 歌词 在专栏里。由于字符串关键字前后的长度以及未使用字符的数量不同,我不能使用left和right 是否有其他方法可以解决此问题?您可以使用以下用例: 在不是原始标签的MS Access中: select iif(lyrics like '*SUN*', 'SUN'

我想知道MS Access SQL查询中是否有一个函数,使用该函数可以提取列中每个单元格的给定字符串,类似于子字符串,但使用字符串作为条件

例如,我想从以下名为“歌词”的专栏中提取关键字SUN和FUN

歌词

因此,我只剩下: 歌词

在专栏里。由于字符串关键字前后的长度以及未使用字符的数量不同,我不能使用left和right

是否有其他方法可以解决此问题?

您可以使用以下用例:

在不是原始标签的MS Access中:

select iif(lyrics like '*SUN*', 'SUN'
           iif(lyrics like '*FUN*', 'FUN', NULL)
          )     
您还可以在更新中包含以下内容:


可以使用正则表达式子字符串函数


如果字符串同时具有这两个属性,那么您使用的是哪种DBMS产品?SQL只是一种查询语言,而不是特定数据库产品的名称@戈登·林诺夫——幸运的是,这个案子从未发生过!那正是我想要的。不幸的是,据我所知,ms access中不存在此功能。我同时更新了这个问题-很抱歉造成混乱!
SUN
FUN
SUN
SUN
FUN
select (case when lyrics like '%SUN%' then 'SUN'
             when lyrics like '%FUN%' then 'FUN'
        end)
select iif(lyrics like '*SUN*', 'SUN'
           iif(lyrics like '*FUN*', 'FUN', NULL)
          )     
update t
    set lyrics = iif(lyrics like '*SUN*', 'SUN'
                     iif(lyrics like '*FUN*', 'FUN', NULL)
                    ) ;    
select regexp_substr(Lyrics,'(SUN|FUN)', 1,1, 'i') from yourtablenamehere;