请教,在SQL语句中,为什么不可以这样使用SUBSTRING函数呢?

happy_xj 2003-08-22 01:29:58
select * from student where substring('number',2,2)='03'
如果我想从某一个字段值中提取出子串,应该怎样做啊?
...全文
399 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhpsam109 2003-08-23
  • 打赏
  • 举报
回复
select * from student where substring(number,2,2)='03'
这样是正确的呀!
zhaoloudy 2003-08-23
  • 打赏
  • 举报
回复
用stuff()
yydy 2003-08-23
  • 打赏
  • 举报
回复
季老大想的周到啊
auleaf 2003-08-23
  • 打赏
  • 举报
回复
不同的数据库对应的语法不同!请指明是何种数据库!
ljianq 2003-08-23
  • 打赏
  • 举报
回复
select * from student where right(number,2)='03'
sunmedia 2003-08-23
  • 打赏
  • 举报
回复
SQL数据库是支持substring函数的,我经常用
catling00 2003-08-22
  • 打赏
  • 举报
回复
SQL Server 支持substr
hzhxxx 2003-08-22
  • 打赏
  • 举报
回复
建议有关数据库后台特征的要隔离
lvjack 2003-08-22
  • 打赏
  • 举报
回复
是substr
lvjack 2003-08-22
  • 打赏
  • 举报
回复
支持jishiping(JSP 季世平)

oracle支持的叫stbstr
TR@SOE 2003-08-22
  • 打赏
  • 举报
回复
总之,这种作法在数据库中出现是效率很低的。
zjqyb 2003-08-22
  • 打赏
  • 举报
回复
你是何种数据库
starstargao 2003-08-22
  • 打赏
  • 举报
回复
季大回答的第三点有点问题
不是所有的都从零开始的
在bcb里面不也是从1开始的吗
killedkiss 2003-08-22
  • 打赏
  • 举报
回复
数据库不支持
Iamsnowgirl 2003-08-22
  • 打赏
  • 举报
回复
说的太好了
jishiping 2003-08-22
  • 打赏
  • 举报
回复
第一、我估计不是所有的数据库都支持 substring 函数。SQL Server 是支持的。
第二、substring('number',2,2) 应该是 substring(number,2,2),就是说第一个参数是
字段名,两边不加单引号。
第三、注意,substring 的第二个参数是开始位置,它从1开始。而C、C++里面的下标是从
0开始的,不要弄错。
第四、为了通用(所有数据库都支持),SQL语句最好这样写:
select * from student where number like '_03%'
在SQL的匹配查询中,_代表任意一个字符,%代表任意多个字符,分别类似DOS命令
的?和*。
yydy 2003-08-22
  • 打赏
  • 举报
回复
同意恶魔
gloom 2003-08-22
  • 打赏
  • 举报
回复
如果number是字段名的话应该是这样
select * from student where substring(number,2,2)='03'
Alpha_Gu 2003-08-22
  • 打赏
  • 举报
回复
選提取,再用substring,因為,substring是bcb中的函數,而不是sql里的.
yydy 2003-08-22
  • 打赏
  • 举报
回复
up

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧