重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
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