sql - Access ComboBox 的 SELECT 中正则表达式的正确形式

标签 sql regex ms-access

我有一个 ComboBox,它从查询中获取它的源。查询字段之一是数字,如 H-1234=AAA-0382 或 HN903=BBB-94522(字段为 ID Symix,表为 DessinSelonProjet_Choix)。

在组合框中,我想显示这个数字,但在这两种情况下都不想显示 = 号之前的部分。我想用 Mid(number, position of = sign) .在 SQL 中,我研究了位置函数是 CHARINDEX,但我没有设法让它工作。 这是显示整个内容时的代码:

SELECT DessinSelonProjet_Choix.[ID Symix], DessinSelonProjet_Choix.[Numéro Document], 
DessinSelonProjet_Choix.Description, DessinSelonProjet_Choix.[Groupe Source]
FROM DessinSelonProjet_Choix
ORDER BY DessinSelonProjet_Choix.[ID Symix];

这是我尝试过的:

SELECT Mid(DessinSelonProjet_Choix.[ID Symix],CHARINDEX('=', 
DessinSelonProjet_Choix.[ID Symix]) AS [Location]) AS Expr1, 
DessinSelonProjet_Choix.[Numéro Document], 
DessinSelonProjet_Choix.Description, DessinSelonProjet_Choix.[Groupe Source]
FROM DessinSelonProjet_Choix
ORDER BY DessinSelonProjet_Choix.[ID Symix];

Syntax error (missing operator) in the expression Mid(DessinSelonProjet_Choix.[ID Symix],CHARINDEX('=', DessinSelonProjet_Choix.[ID Symix]) AS [Location]) AS Expr1

最佳答案

SELECT 
Mid([ID Symix], INSTR('=', [ID Symix])+1, len([ID Symix])-INSTR('=', [ID Symix])) AS Expr1,
[Numéro Document],   
Description, 
[Groupe Source]
FROM DessinSelonProjet_Choix
ORDER BY [ID Symix];

您的声明是在函数中使用了一个别名。此外,您必须使用 len 来获取字符串中 = 之后的所有字符。

关于sql - Access ComboBox 的 SELECT 中正则表达式的正确形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32012628/

相关文章:

mysql - MySQL 中何时使用单引号、双引号和反引号

sql - 基于多列之一进行连接

regex - Logback:用 ******** 和最后两位数字替换 10 位数字

sql-server-2008 - SQL Server 和 MS Access 标准差 (StDev) 函数生成不同的结果

来自多个表的 SQL 查询

java - 特定位置的部分字符串(#17。和#5。)

regex - 如何使用正则表达式重命名Powershell中的文件?

php - 将 .mdb 数据插入 SQL 时出现编码问题

c# - 对多个方法 C# 使用单个事务?

sql - 相当于 SQL Server SCHEMA 的 Oracle