十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
CREATE function [dbo].[GetCharIndexNum](@findstring varchar(max),@string varchar(max))
成都创新互联于2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元龙山做网站,已为上家服务,为龙山各地企业和个人服务,联系电话:18980820575
returns int
AS
BEGIN
declare @location int , --要找的字符位置
@num int --要找的字符出现的次数
set @num =0
set @location = charindex (@findstring,@string)
while @location 0 ---字符串中存在要找的字符
begin
set @num =@num +1
set @string =substring(@string,@location+1,len(@string))
set @location = charindex (@findstring,@string)
end
return @num
END
--举个例子调用这个标量值函数 select [dbo].[GetCharIndexNum]('5','abc5ab5')
返回值2,5这个字符出现了2次
方法一,在你的程序中直接
desc tablename
然后总行数就是你的字段数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mysql desc ysks;
+-------+---------------+-----
| Field | Type | Null
+-------+---------------+-----
| 单号 | int(11) | YES
| 金额 | decimal(10,2) | YES
| 已收 | decimal(10,2) | YES
| 日期 | bigint(20) | YES
| 名称 | varchar(10) | YES
| 余额 | decimal(10,2) | YES
| 备注 | varchar(10) | YES
| 品名 | varchar(10) | YES
+-------+---------------+-----
8 rows in set (0.06 sec)
mysql select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
| 8 |
+--------------+
1 row in set (0.06 sec)
mysql
方法二,通过系统表information_schema.`COLUMNS` ( mysql5以上版本支持)
mysql select count(*) from information_schema.`COLUMNS`
- where TABLE_SCHEMA='csdn'
- and TABLE_NAME='ysks';
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.06 sec)
mysql
首先保证,没有乱码。
然后可以使用:SUBSTRING() 函数 (SUBSTRING(字段名,开始位置,结束位置),mysql这个函数是从1开始,请注意!)
用法:
查询tt表的pp字段,只看文章的前15字。
length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符
char_length:不管汉字还是数字或者是字母都算是一个字符
用这2个,具体看你的需求了,,,
你是要去除,?然后再看长度?
SELECT LENGTH(REPLACE('1,2,3,4',',','')),根据需求替换char_length就可以了
1、一般查询语句:SELECT `lcontent` FROM `caiji_ym_liuyan`
查询数据:
2、有些时候需要查询某个字段的长度为多少时候才显示数据:
SQL语句:SELECT `lcontent` FROM `caiji_ym_liuyan` where
length(lcontent)=40
PS:在mysql中一个汉字等于3个字节,所以查询的时候需要转换一下
特别要注意的就时候对于字节的转换!
用mysql查询出字段中的前几个字可以用left()方法,
如果要查一个字段的前50个字符,sql语句举例:
select left(table_column,50) from table_name;
left(table_column,50) 表示截取table_column左边的50个字符
扩展资料
sql中截取字符串的相关函数介绍:
1、left(name,4)截取左边的4个字符
列:SELECT LEFT(201809,4) 年
结果:2018
2、right(name,2)截取右边的2个字符
SELECT RIGHT(201809,2) 月份
结果:09
3、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
SELECT SUBSTRING('1234567',3)
结果:34567
4、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
SELECT SUBSTRING('1234567',-4)
结果:4567