今日、問題が発生しました。データ テーブルのフィールド内のテキスト「xxx.gif」を「xxx.jpg」に変換したいのですが、その具体的な名前がわかりません。gif で終わることだけがわかります。
解決した問題: pet set petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg' を更新します
ここで、petPhoto は '%.gif' のようになります
一致する文字に注意してください。「%」は任意の長さの任意の文字に一致し、「_」は任意の 1 文字に一致し、[A] は A で始まるすべての文字に一致し、[^A] は A で始まる文字以外のすべてに一致します。関数を知ることが問題解決の鍵となります (以下はインターネットからの転載です):
1. 統計関数 avg、count、max、min、sum
2. 数学的関数
Ceiling(n) は、n 以上の最小の整数を返します。
Floor(n)、n 以下の最大の整数を返します。
Round(m,n)、round、n は保持する小数点以下の桁数です。
abs(n) 絶対値
Sign(n)、n>0の場合は1を返し、n=0の場合は0を返し、n<0の場合は-1を返します
PI()、3.1415....
rand()、rand(n) は 0 ~ 1 の間の乱数を返します。
3. 文字列関数
ascii()、文字を ASCII コードに変換、ASCII('abc') = 97
char()、ASCIIコードを文字に変換
小文字()、大文字()の変換
str(a,b,c) は数値を文字列に変換します。 a, は変換される文字列です。 bは変換後の長さ、cは小数点以下の桁数です。 str(123.456,8,2) = 123.46
ltrim()、rtrim() はスペースを削除し、ltrim は左側のスペースを削除し、rtrim は右側のスペースを削除します。
left(n)、right(n)、substring(str、start、length) インターセプト文字列
charindex (部分文字列、親文字列) が含まれているかどうかを確認します。 0 を返さずに、最初に出現した位置を返します。
patindex('%pattern%',expression) は上記と同じ機能ですが、ワイルドカードを使用します。
レプリケート('char', rep_time)、文字列を繰り返す
reverse(char)、文字列を反転します
replace(str, strold, strnew) 文字列を置き換えます
space(n)、n 個の空白行を生成します
Staff(), SELECT STUFF('abcdef', 2, 3, 'ijklmn') ='aijklmnef'、2 は開始位置、3 は元の文字列から削除する文字の長さ、ijlmn は削除する文字列です。挿入される。
3. 型変換関数:
キャスト、キャスト(data_type としての式)、例:
SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM タイトル WHERE CAST(ytd_sales AS char(20)) LIKE '3%'
変換(データ型、式)
4.日付機能
日()、月()、年()
dateadd(datepart,number,date)、datapart は追加する部分を指定し、number は追加する量を示し、date は誰を追加するかを指定します。 datepart の値には、年、四半期、月、年の日、日、週、時、分、秒が含まれます (明日の dateadd(day,1, getdate()) など)
datediff(datepart,date1,date2)。datapart は上記と同じです。関数全体の結果は date2 - date1 になります。
datename(datepart, date) はその部分を取得し、文字列を返します。
datepart(datepart, date) は一部を受け取り、整数を返します。
getdate() 現在時刻
5. システム機能
Col_length('テーブル名','列名')
Col_name, SELECT COL_NAME(OBJECT_ID('従業員'), 1) = 従業員ID
データ長、例: datalength('abc') =3、datalength(pub_name) --列名