请问:SQL语言中条件能实现"判断某个字段的部分内容(如前九位)为某个字符串"吗?

时间:2021-11-26 14:56:23
请教一个问题:
SQL语言中条件能实现"判断某个字段的部分内容(如前九位)为某个字符串"吗?
应该怎么写?
谢了先!

14 个解决方案

#1


可以呀..SQL用left,oracle用substr

#2


我的代码是:
        SQLString3 = " '" & Mid(dataScore.Recordset.Fields(0), 0, 9) & "'= '" & dataClass.Recordset.Fields("ID") & "' "
这里出现错误:无效的过程调用与参数!
然后是:
        dataScore.RecordSource = "select * from Score where " & SQLString1 & SQLString2 & SQLString3
        dataScore.Refresh
帮忙看一下,谢谢!

#3


试试:
Dim SQL as String
SQL="select left(ID,9) from TableName Where ..."

#4


select * from tab where left(id,9)='000000000'

#5


或: select * from tab where id like '000000000%'

#6


谢谢!!!

#7


select * from tab where id like '000000000%'

如果id有索引,这种方式更快一些

#8


我也这么想

#9


同意在sql语句中判断。

#10


就是。用SQL比较好。比如判断满足000000001
                             000000002
                             000000030' 不满足的
                             000000003
select * from tab where id like '000000000%'


#11


就是。用SQL比较好。比如判断满足000000001
                             000000002
                             000000030' 不满足的
                             000000003
select * from tab where id like '000000000%'


#12


mark

#13


select left(字段名,9),* from 表名 where left(字段名,9)='aaaaaaaaa'

#14


对字符串的操作问题根具体的数据库有关。不同的DBMS(sql server,oracle)提供的对字符串的操作函数是不一样的。出现无效的过程调用与参数这样的错误,其原因是你的数据库不支持你所所选用的字符串操作函数。
在sql server中,支持的函数操作有ASCII、NCHAR、SOUNDEX、CHAR、PATINDEX、SPACE、CHARINDEX、REPLACE、STR、DIFFERENCE、QUOTENAME、STUFF、LEFT、REPLICATE、SUBSTRING、LEN、REVERSE、UNICODE、LOWER、RIGHT、UPPER、LTRIM、RTRIM ,具体的使用方法你可以看DBMS提供的相关帮助。

#1


可以呀..SQL用left,oracle用substr

#2


我的代码是:
        SQLString3 = " '" & Mid(dataScore.Recordset.Fields(0), 0, 9) & "'= '" & dataClass.Recordset.Fields("ID") & "' "
这里出现错误:无效的过程调用与参数!
然后是:
        dataScore.RecordSource = "select * from Score where " & SQLString1 & SQLString2 & SQLString3
        dataScore.Refresh
帮忙看一下,谢谢!

#3


试试:
Dim SQL as String
SQL="select left(ID,9) from TableName Where ..."

#4


select * from tab where left(id,9)='000000000'

#5


或: select * from tab where id like '000000000%'

#6


谢谢!!!

#7


select * from tab where id like '000000000%'

如果id有索引,这种方式更快一些

#8


我也这么想

#9


同意在sql语句中判断。

#10


就是。用SQL比较好。比如判断满足000000001
                             000000002
                             000000030' 不满足的
                             000000003
select * from tab where id like '000000000%'


#11


就是。用SQL比较好。比如判断满足000000001
                             000000002
                             000000030' 不满足的
                             000000003
select * from tab where id like '000000000%'


#12


mark

#13


select left(字段名,9),* from 表名 where left(字段名,9)='aaaaaaaaa'

#14


对字符串的操作问题根具体的数据库有关。不同的DBMS(sql server,oracle)提供的对字符串的操作函数是不一样的。出现无效的过程调用与参数这样的错误,其原因是你的数据库不支持你所所选用的字符串操作函数。
在sql server中,支持的函数操作有ASCII、NCHAR、SOUNDEX、CHAR、PATINDEX、SPACE、CHARINDEX、REPLACE、STR、DIFFERENCE、QUOTENAME、STUFF、LEFT、REPLICATE、SUBSTRING、LEN、REVERSE、UNICODE、LOWER、RIGHT、UPPER、LTRIM、RTRIM ,具体的使用方法你可以看DBMS提供的相关帮助。