重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
數(shù)學(xué)函數(shù):用來處理數(shù)值數(shù)據(jù),主要有3類-取整函數(shù)(ROUND()、CEIL()、FLOOR())、絕對值函數(shù)(ABS())、求余函數(shù)(MOD())
我們提供的服務(wù)有:網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、王屋ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的王屋網(wǎng)站制作公司
字符串函數(shù)官方文檔:
字符串函數(shù)主要用到4種函數(shù):CAST()、CONCAT()、CHAR_LENGTH()、SPACE()。
IF(表達(dá)式,V1,V2):如果表達(dá)式為真,則返回V1,否則返回V2。
IFNULL(V1,V2):如果V1的值不為空,則返回V1,否則返回V2。
總結(jié)一下:
在使用mysql時,常會進(jìn)行字符串截取,字符替換,取子串等。具體介紹如下:
1、從左開始截取字符串
left(str, length) 說明:left(被截取字段,截取長度)
例:select left('charfunction', 5) as result from dual;
輸出: charf
2、從右開始截取字符串
right(str, length) 說明:right(被截取字段,截取長度)
例:select right('charfunction',5) as result from dual;
輸出:ction
3、截取字符串,這里分兩種情形,分別是從頭截取和中間開始截取
substring(str, pos) 說明:substring(被截取字段,從第幾位開始截取)
substring(str, pos, length) substring(被截取字段,從第幾位開始截取,截取長度)
例:select substring('charfunction', 5) as result from dual; 輸出:unction
select substring('charfunction',5,5) as result from dual; 輸出:uncti
(注:如果位數(shù)是負(fù)數(shù) 如-5 則是從后倒數(shù)位數(shù),到字符串結(jié)束或截取的長度)
4、替換相關(guān)字符
replace(str, old, new)將 str中的 old串替換成new字符串
例:select replace ('charfunction','n','WW') as result from dual;
輸出: charfuWWctioWW
具體使用方法請結(jié)合數(shù)據(jù)表練習(xí)領(lǐng)會。
說明 : string1,string2代表字符串,concat函數(shù)在連接字符串的時候,只要其中一個是NULL,那么將返回NULL
結(jié)果:
說明:將多個字符串連接成一個字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])
說明:
DISTINCT:去除重復(fù)值
expr [,expr ...]:一個或多個字段(或表達(dá)式)
ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]:根據(jù)字段或表達(dá)式進(jìn)行排序,可多個
SEPARATOR str_val:分隔符(默認(rèn)為英文逗號)
group_concat()函數(shù)在處理大數(shù)據(jù)的時候,會發(fā)現(xiàn)內(nèi)容被截取了
其實MYSQL內(nèi)部對這個是有設(shè)置的,默認(rèn)不設(shè)置的長度是1024,如果我們需要更大,就需要手工去修改配置文件
其實你的兩種方案都可以,第二種也挺好的,以前我一般都用方案一那種,都存到數(shù)據(jù)庫里,我沒有測試過超長字符串存到數(shù)據(jù)庫中的查詢效率,和內(nèi)存問題,不過你也可以這兩種方案都用,過大的就存文件,小的就存數(shù)據(jù)庫,用個字段做標(biāo)識就行
加上
反斜杠
,就是對
'
或者
"
的,可以用
\'
和
\''
替換
\"\'12》;
一般如果是在php程序上進(jìn)行插入數(shù)據(jù)庫的話,可以先做個處理
$str='
"'12》;
';
if(!get_magic_quotes_gpc()){
$str=
addslashes
($str);
//addslashes這個函數(shù)會對字符串進(jìn)行處理,即對
'
或者
"
的,用
\'
和
\''
替換
}