注册 登录
编程论坛 SQL Server论坛

关于SUBSTRING函数的一点问想请教大家

qianjin225 发布于 2009-10-11 22:03, 700 次点击
select bargain_name,bargain_owner_IdCard
from t_bargain
where bargain_owner_IdCard=(SELECT SUBSTRING(bargain_owner_IdCard, 0, 18)
            FROM  dbo.t_bargain where bargain_name = '200900010')
上面的查询没有结果,但SELECT SUBSTRING(bargain_owner_IdCard, 0, 18)FROM  dbo.t_bargain where bargain_name = '200900010' 是有结果的:362502197505180816。请教大家substring函数在sql语句中的用法规则是怎样的。
1 回复
#2
笨鸟2009-10-12 17:10
取子字符串
SUBSTRING(源字符串,开始位置,结束位置)

SELECT SUBSTRING(bargain_owner_IdCard, 0, 18)FROM  dbo.t_bargain where bargain_name = '200900010' 是有结果的:362502197505180816。

--这个查询有结果,但它的查询结果作为
select bargain_name,bargain_owner_IdCard  
from t_bargain  
where bargain_owner_IdCard='362502197505180816'

--它没有返回任何行,说明t_bargain表中bargain_owner_IdCard列不存在项目值为362502197505180816的记录行
1