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
帮忙看一下,谢谢!
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 ..."
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有索引,这种方式更快一些
如果id有索引,这种方式更快一些
#8
我也这么想
#9
同意在sql语句中判断。
#10
就是。用SQL比较好。比如判断满足000000001
000000002
000000030' 不满足的
000000003
select * from tab where id like '000000000%'
000000002
000000030' 不满足的
000000003
select * from tab where id like '000000000%'
#11
就是。用SQL比较好。比如判断满足000000001
000000002
000000030' 不满足的
000000003
select * from tab where id like '000000000%'
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提供的相关帮助。
在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
帮忙看一下,谢谢!
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 ..."
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有索引,这种方式更快一些
如果id有索引,这种方式更快一些
#8
我也这么想
#9
同意在sql语句中判断。
#10
就是。用SQL比较好。比如判断满足000000001
000000002
000000030' 不满足的
000000003
select * from tab where id like '000000000%'
000000002
000000030' 不满足的
000000003
select * from tab where id like '000000000%'
#11
就是。用SQL比较好。比如判断满足000000001
000000002
000000030' 不满足的
000000003
select * from tab where id like '000000000%'
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提供的相关帮助。
在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提供的相关帮助。