English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PostgreSQL الأساسي

دليل PostgreSQL المتقدم

واجهة PostgreSQL

وظائف PostgreSQL الشائعة

وظائف PostgreSQL المدمجة تُعرف أيضًا بوظائف التجميع، وتستخدم لمعالجة البيانات النصية أو العددية.

هذه قائمة بجميع الوظائف المدمجة في PostgreSQL العامة:

  • وظيفة COUNT: تستخدم لحساب عدد الأسطر في جدول قاعدة البيانات.

  • وظيفة MAX: تستخدم لاسترجاع أكبر قيمة في عمود معين.

  • وظيفة MIN: تستخدم لاسترجاع أصغر قيمة في عمود معين.

  • وظيفة AVG: تستخدم لحساب متوسط القيم في عمود معين.

  • وظيفة SUM: تستخدم لحساب مجموع القيم في عمود العدد.

  • وظائف الجداول: تستخدم لضمان إضافة القيم (بما في ذلك null) إلى الجداول.

  • وظائف العددية: قائمة شاملة بوظائف العمل التي تحتاجها SQL.

  • وظائف النصوص: قائمة شاملة بوظائف العمل التي تحتاجها SQL.

وظائف الرياضيات

هذه قائمة بجميع وظائف الرياضيات التي يقدمها PostgreSQL، ويجب ملاحظة أن العديد من هذه الوظائف تتوفر بطرق متعددة، والفرق بينها هو نوع المعلمات فقط. ما لم يتم تحديد خلاف ذلك، فإن أي شكل من أشكال الوظائف يعود بنفس نوع البيانات الذي يحتويه المعلمات.

الوظيفةنوع العودةوصف实例结果
abs(x)
القيمة المطلقةabs(-17.4)17.4
cbrt(double)
جذر الثلاثيcbrt(27.0)3
ceil(double/numeric)
أصغر عدد صحيح غير أصغر من المعاملceil(-42.8)-42
degrees(double)
تحويل الدرجات إلى درجاتdegrees(0.5)28.6478897565412
exp(double/numeric)
الناتج الطبيعيexp(1.0)2.71828182845905
floor(double/numeric)
أكبر عدد صحيح غير أكبر من المعاملfloor(-42.8)-43
ln(double/numeric)
الناتج الطبيعيln(2.0)0.693147180559945
log(double/numeric)
محدد قاعدة الأرقام الطبيعيةlog(100.0)2
log(b numeric,x numeric)numericمحدد قاعدة الأرقام الطبيعيةlog(2.0, 64.0)6.0000000000
mod(y, x)
خذ الرقم المتبقيmod(9,4)1
pi()doubleمستقر "π"pi()3.14159265358979
power(a double, b double)doubleحساب قوة a إلى bpower(9.0, 3.0)729
power(a numeric, b numeric)numericحساب قوة a إلى bpower(9.0, 3.0)729
radians(double)doubleتحويل الزاوية إلى درجاتradians(45.0)0.785398163397448
random()doubleرقم عشوائي بين 0.0 و 1.0random()
round(double/numeric)
تعديل إلى عدد صحيح أقربround(42.4)42
round(v numeric, s int)numericتعديل إلى عدد صحيح يحتوي على s خانة عشريةround(42.438,2)42.44
sign(double/numeric)
إشارة المعامل (-1,0,+1)sign(-8.4)-1
sqrt(double/numeric)
جذر المربعsqrt(2.0)1.4142135623731
trunc(double/numeric)
قطع (قريب من الصفر)trunc(42.8)42
trunc(v numeric, s int)numeric截断为s小数位置的数字trunc(42.438,2)42.43

三角函数列表

الوظيفةوصف
acos(x)反余弦
asin(x)反正弦
atan(x)反正切
atan2(x, y)正切 y/x 的反函数
cos(x)余弦
cot(x)余切
sin(x)正弦
tan(x)正切

字符串函数和操作符

下面是 PostgreSQL 中提供的字符串操作符列表:

الوظيفةنوع العودةوصف实例结果
string 丨丨 stringtext字串连接'Post' 丨丨 'greSQL'PostgreSQL
bit_length(string)int字串里二进制位的个数bit_length('jose')32
char_length(string)int字串中的字符个数char_length('jose')4
convert(string using conversion_name)text使用指定的转换名字改变编码。convert('PostgreSQL' using iso_8859_1_to_utf8)'PostgreSQL'
lower(string)text把字串转化为小写lower('TOM')tom
octet_length(string)int字串中的字节数octet_length('jose')4
overlay(string placing string from int [for int])text替换子字串overlay('Txxxxas' placing 'hom' from 2 for 4)Thomas
position(substring in string)int指定的子字串的位置position('om' in 'Thomas')3
substring(string [from int] [for int])text抽取子字串substring('Thomas' from 2 for 3)hom
substring(string from pattern)text抽取匹配 POSIX 正则表达式的子字串substring('Thomas' from '…$')mas
substring(string from pattern for escape)textاستخراج فرع السلسلة الذي يتطابق مع التعبيرات النصية العادية SQLsubstring('Thomas' from '%#"o_a#"_' for '#')oma
trim([leading丨trailing 丨 both] [characters] from string)textحذف أطول السلاسل التي تحتوي فقط على characters (الافتراض هو مساحة بيضاء) من بداية ونهاية السلسلة stringtrim(both 'x' from 'xTomxx')Tom
upper(string)textتحويل السلسلة إلى حروف كبيرةupper('tom')TOM
ascii(text)intرمز ASCII للحرف الأول من المعاملascii('x')120
btrim(string text [, characters text])textحذف أطول السلاسل التي تحتوي فقط على characters (الافتراض هو مساحة بيضاء) من بداية ونهاية السلسلة stringbtrim('xyxtrimyyx','xy')trim
chr(int)textتقديم حرف يحتوي على رمز ASCIIchr(65)A
convert(string text, [src_encoding name,] dest_encoding name)textتحويل السلسلة إلى dest_encodingconvert( 'text_in_utf8', 'UTF8', 'LATIN1')ممثل text_in_utf8 بكود ISO 8859-1
initcap(text)textتحويل أول حرف من كل كلمة إلى حرف كبير، مع الحفاظ على الحروف الأخرى صغيرة. الكلمة هي سلسلة من الأحرف الأبجدية أو الأرقام، مفصولة بأحرف غير أرقام.initcap('hi thomas')Hi Thomas
length(string text)intعدد الأحرف في السلسلة stringlength('jose')4
lpad(string text, length int [, fill text])textملء السلسلة string بقدر طول length عن طريق استخدام حرف fill (الافتراض هو مساحة بيضاء). إذا كانت السلسلة string أطول من length، فإنها تُقطع (من النهاية).lpad('hi', 5, 'xy')xyxhi
ltrim(string text [, characters text])textمن حذف أطول السلاسل التي تحتوي فقط على characters (الافتراض هو مساحة بيضاء) من بداية السلسلة string.ltrim('zzzytrim','xyz')trim
md5(string text)textحساب دالة md5 لنص معين ويعود النتيجة بأسلوب السلسلة العشرية.md5('abc')
repeat(string text, number int)textتكرار النص string number مرات.repeat('Pg', 4)PgPgPgPg
replace(string text, from text, to text)textتبديل جميع اللفظ الموجود في النص string إلى النص XX.replace('abcdefabcdef', 'cd', 'XX')abXXefabXXef
rpad(string text, length int [, fill text])textملء النص string بحرف fill (الافتراضي هو فاصلة) لجعله طوله length. إذا كان النص بالفعل أطول من length، فإنه يتم قطعه.rpad('hi', 5, 'xy')هكسكس
rtrim(string text [, character text])textحذف أطول نص مكون من character من نهاية النص string (الافتراضي هو فاصلة)rtrim('trimxxxx','x')trim
split_part(string text, delimiter text, field int)textاسترجاع الفقاعة الفصلية المكونة من النصوص باستخدام delimiter ويعود الفقاعة في الميدان.split_part('abc~@~def~@~ghi', '~@~', 2)def
strpos(string, substring)textموقع اللفظ المعلن.strpos('high','ig')2
substr(string, from [, count])textاستخراج النص الفرعي.substr('alphabet', 3, 2)ف
to_ascii(text [, encoding])textتحويل النص من تشفير آخر إلى ASCII.to_ascii('كارل')كارل
to_hex(number int/bigint)textبإمكانك تحويل العدد إلى شكله الثنائي.to_hex(9223372036854775807)7fffffffffffffff
translate(string text, from text, to text)textتحويل أي رمز موجود في النص الذي يحتوي على أي تطابق من within إلى الرمز المماثل في withintranslate('12345', '14', 'ax')a23x5

وظائف تحويل النوع

الوظيفةنوع العودةوصفمثال
to_char(timestamp, text)textتحويل timestamp إلى نصto_char(current_timestamp, 'HH12:MI:SS')
to_char(interval, text)textتحويل فترة الوقت إلى نصto_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char(int, text)textتحويل عدد صحيح إلى نصto_char(125, '999')
to_char(double precision, text)textتحويل دقة عالية إلى نصto_char(125.8::real, '999D9')
to_char(numeric, text)textتحويل الرقم إلى نصto_char(-125.8, '999D99S')
to_date(text, text)dateتحويل النص إلى تاريخto_date('05 Dec 2000', 'DD Mon YYYY')
to_number(text, text)numericتحويل النص إلى عددto_number('12,454.8-', '99G999D9S')
to_timestamp(text, text)timestampتحويل إلى تنسيق وقت معين time zone تحويل النص إلى timestampto_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(double precision)timestampتحويل عصر UNIX إلى timestampto_timestamp(1284352323)

مقالة مرجعية: https://blog.csdn.net/sun5769675/article/details/50628979