PostgreSQL函数和运算符

PostgreSQL为内置的数据类型提供了大量的函数和运算符,用户也可以定义自己的函数和运算符,使用psql命令\df\do可以列出所有可用的函数和运算符

1. 逻辑运算符

常用的逻辑运算符有AND、OR、NOT,逻辑系统有三个值true、fase和null,运算关系如下表所示:

aba AND ba OR b
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
TRUENULLNULLTRUE
FALSEFALSEFALSEFALSE
FALSENULLFALSENULL
NULLNULLNULLNULL
aNOT a
TRUEFALSE
FALSETRUE
NULLNULL

2. 比较函数和运算符

2.1. 运算符

常用的比较运算符如下表所示:

运算符描述
<小于
>大于
<=小于等于
>=大于等于
=等于
<>不等于
!=不等于

2.2. 比较谓词

另外,还有一些用于比较运算的谓词,如下所示:

谓词说明示例
BETWEEN AND包括范围端点2 BETWEEN 1 AND 3 --> t
2 BETWEEN 3 AND 1 --> f
NOT BETWEEN AND2 NOT BETWEEN 1 AND 3 --> f
BETWEEN SYMMETRIC AND两个端点值排序后比较2 BETWEEN SYMMETRIC 3 AND 1 --> t
NOT BETWEEN SYMMETRIC AND2 NOT BETWEEN SYMMETRIC 3 AND 1 --> f
IS DISTINCT FROM不相等,将null视为可比值1 IS DISTINCT FROM NULL --> t
NULL IS DISTINCT FROM NULL --> f
IS NOT DISTINCT FROM相等,将null视为可比值1 IS NOT DISTINCT FROM NULL --> t
NULL IS NOT DISTINCT FROM NULL --> f
IS NULL1.5 IS NULL --> f
IS NOT NULL‘null’ IS NOT NULL --> t
ISNULL非标准语法
NOTNULL
IS TRUEtrue IS TRUE --> t
NULL::boolean IS TRUE --> f
IS NOT TRUEtrue IS NOT TRUE --> f
NULL::boolean IS NOT TRUE --> t
IS FALSEtrue IS FALSE --> f
NULL::boolean IS FALSE --> f
IS NOT FALSEtrue IS NOT FALSE --> f
NULL::boolean IS NOT FALSE --> t
IS UNKNOWNtrue IS UNKNOWN --> f
NULL::boolean IS UNKNOWN --> t
IS NOT UNKNOWN布尔值是true或falsetrue IS NOT UNKNOWN --> t
NULL::boolean IS NOT UNKNOWN --> f

2.3. 比较函数

常用的比较函数如小表所示:

函数说明示例
num_nonnulls(VARIADIC “any”)返回非null的个数num_nonnulls(1, NULL, 2) ->2
num_nulls(VARIADIC “any”)返回null的个数num_nulls(1, NULL, 2) -> 1

3. 数学函数和运算符

3.1. 数学运算符

常用的数学运算符如下表所示:

符号说明示例
+加号2 + 3 -> 5
++ 3.5 -> 3.5
-减号2 - 3 -> -1
--(-4) -> 4
*2 * 3 -> 6
/5.0 / 2 -> 2.5
%取模5 % 4 -> 1
^立方2^3 -> 8
|/平方根|/ 25.0 -> 5
||/立方根||/ 64.0 -> 4
@绝对值@ -5.0 -> 5.0
&91 & 15 -> 11
|32 | 3 -> 35
#异或17 # 5 -> 20
~取反~1 -> -2
<<按位向左移1 << 4 -> 16
>>按位向右移8 >> 2 -> 2

3.2. 数学函数

常用数学函数如下表所示:

函数名说明示例
abs(n)取绝对值abs(-17.4) -> 17.4
cbrt(d)取立方根cbrt(64.0) -> 4
ceil(n)/ceil(d)向上取整ceil(42.2) -> 43
ceil(-42.8) -> -42
ceiling(n)/ceiling(d)向上取整ceiling(95.3) -> 96
degrees(d)将弧度转为度degrees(0.5) -> 28.64788975654116
div(y, x)y/x的整数商div(9, 4) -> 2
erf(d)erf(1.0) -> 0.8427007929497149
erfc(d)erfc(1.0) -> 0.15729920705028513
exp(n)/exp(d)指数exp(1.0) -> 2.7182818284590452
factorial(n)阶乘factorial(5) -> 120
floor(n)/floor(d)向下取整floor(42.8) -> 42
floor(-42.8) -> -43
gcd(n, n)最大公约数gcd(1071, 462) -> 21
lcm(n, n)最小公倍数lcm(1071, 462) -> 23562
ln(n)/ln(d)自然对数ln(2.0) -> 0.6931471805599453
log(n)/log(d)10为底的对数log(100) -> 2
log10(n)/log10(d)log10(1000) -> 3
log(b,x)以b为底的x对数log(2.0, 64.0) -> 6.000
min_scale(n)最小刻度min_scale(8.4100) -> 2
mod(y, x)y/x的余数mod(9, 4) -> 1
pi()πpi() -> 3.141592653589793
power(a, b)a的b次方power(9, 3) -> 729
radians(d)将度数转为弧度radians(45.0) -> 0.7853981633974483
round(n)/round(d)四舍五入round(42.4) -> 42
round(v, s)四舍五入,保留s位小数round(42.4382, 2) -> 42.44
scale(n)/scale(d)获取小数位数scalse(8.4100) -> 4
sign(n)/sign(d)获取符号(-1, 0, +1)sign(-8.4) -> -1
sqrt(n)/sqrt(d)平方根sqrt(2) -> 1.4142135623730951
trim_scale(n)删除小数后的0trim_scale(8.4100) -> 8.41
trunc(n)/trunc(d)截断为整数trunc(42.8) -> 42
trunc(v, s)截断v到小数点后的s位trunc(42.4382, 2)
width_bucketwidth_bucket(5.35, 0.024, 10.06, 5) -> 3
width_bucketwidth_bucket(now(), array[‘yesterday’, ‘today’, ‘tomorrow’]::timestamptz[]) -> 2

3.3. 随机函数

常用随机函数如下表所示:

函数名说明示例
random()获取0.0到1.0之间的随机值random() -> 0.897124072839091
random_normal(mean, stddev)从给定数的正态分布中返回随机数,mean默认0.0,stddev默认1.0random_normal(0.0, 1.0) -> 0.051285419
setseed(d)给random()和random_normal()设置调用种子,-1.0~1.0setseed(0.12345)

3.4. 三角函数

常用三角函数如下表所示:

函数名说明示例
acos(d)反余弦,返回弧度acos(1) -> 0
acosd(d)反余弦,返回度acosd(0.5) -> 60
asin(d)反正弦,返回弧度asin(1) -> 1.5707963267948966
asind(d)反正弦,返回度asind(0.5) -> 30
atan(d)反正切,返回弧度atan(1) -> 0.7853981633974483
atand(d)反正切,返回度atand(1) -> 45
atan2(y, x)y/x的反正切,返回弧度atan2(1, 0) -> 1.5707963267948966
atan2d(y, x)y/x的反正切,返回度atan2d(1, 0) -> 90
cos(d)余弦,返回弧度cos(0) -> 1
cosd(d)余弦,返回度cosd(60) -> 0.5
cot(d)余切,返回弧度cot(0.5) -> 1.830487721712452
cotd(d)余切,返回度cotd(45) -> 1
sin(d)正弦,返回弧度sin(1) ->
sind(d)正弦,返回度sind(30) -> 0.5
tan(d)正切,返回弧度tan(1) ->
tand(d)正切,返回度tand(45) -> 1

3.5. 双曲线函数

常用双曲线函数如下表所示:

函数名说明示例
sinh(d)双曲正弦sinh(1) -> 1.1752011936438014
cosh(d)双曲余弦cosh(0) -> 1
tanh(d)双曲正切tanh(1) -> 0.7615941559557649
asinh(d)反双曲正弦asinh(1) -> 0.881373587019543
acosh(d)反双曲余弦acosh(1) -> 0
atanh(d)反双曲正切atanh(0.5) -> .5493061443340548

4. 字符串函数和运算符

常用字符串函数如下表所示:

名称说明示例
||拼接
btrim(s, c)移除指定字符cbtrim(‘xyxtrimyyx’, ‘xy’) -> trim
IS [NOT] [form] NORMALIZED检查字符串是否为指定的Unicode形式,默认NFC,还有NFD、NFKC、NFKDU& ‘\0061\0308bc’ IS NFD NORMALIZED -> t
bit_length(text)返回字符串位数bit_length(‘jose’) -> 32
char_length(text)返回字符串字符数char_length(‘jose’) -> 4
lower(text)转小写lower(‘TOM’) -> tom
lpad(s, length, [fill text])填充指定字符lpad(‘hi’, 5, ‘xy’) -> xyxhi
ltrim(str, [char])移除指定字符ltrim(‘zzzytest’, ‘xyz’) -> test
normalize(t, [form])normalize(U& ‘\0061\0308bc’, NFC) -> U& ‘\00E4bc’
octet_length(t)octet_length(‘jose’) -> 5
octet_length(char)octet_length('abc '::character(4)) -> 4
overlay(str PLACING newStr FROM start [FOR count])从头start开始替换count个字符overlay(‘Txxxxas’ placing ‘hom’ from 2 from 4) -> Thomas
position(substr IN str)position(’ om’ in ‘Thomas’ -> 3)
rpad(str, len, [fill])将fill拼接到str后面rpad(‘hi’, 5, ‘xy’) -> hixyx
rtrim(str, [char])移除含有char的字符rtrim(‘testxxzx’, ‘xyz’) -> test
substring(str [FROM start] [FOR count])从start开始截取count位字符substring(‘Thomas’ from 2 for 3) -> hom
substring(str FROM pattern)substring(‘Thomas’ from ‘…$’) -> mas
substring(str SIMILAR pattern ESCAPE escape)
substring(str FROM pattern FOR escape)
substring(‘Thomas’ similar ‘%#“o_a#”_’ escape ‘#’) -> oma
trim([LEADINGTRAILINGBOTH] [char] FROM str)
trim([LEADINGTRAILINGBOTH] [FROM] str, [char])
upper(text)转大写upper(‘tom’) -> TOM
text ^@ text第一个字符以第二个字符开头时返回true‘alphabet’ ^@ ‘alph’ -> true
concat(val1 “any” [, val2 “any” [, …]])连接不为null的字符concat(‘abcde’, 2, NULL, 22) -> abcde222
concat_ws(sep text, val1 “any” [, val2 “any” [, …]])用指定分隔符连接不为null的字符concat_ws(‘,’, ‘abcde’, 2, NULL, 22) -> abcde, 2, 22
format(formatstr text [, formatarg “any” [, …]])格式化字符串format(‘Hello %s, %1$s’, ‘World’) -> Hello World, World
initcap(text)将单词第一个字母大写,其他小写initcap(‘hi THOMAS’) -> Hi Thomas
left(string text, n integer)返回前n个字符left(‘abcde’, 2) -> ab
length(text)返回字符长度length(‘jose’) -> 4
md5(text)返回md5加密后的值md5(‘abc’) -> 900150983cd24fb0d6963f7d28e17f72
pg_client_encoding()返回当前编码pg_client_encoding() -> UTF8
quote_literal(anyelement)将给定的值转换为文本quote_literal(42.5) -> ‘42.5’
quote_nullable(anyelement)将给定的值转换为文本,如果为Null,返回nullquote_nullable(42.5) -> ‘42.5’
repeat(string text, number integer)重复n次repeat(‘Pg’, 4) -> PgPgPg
replace(string text, from text, to text)将from替换为toreplace(‘abcdefabcdef’, ‘cd’, XX) -> abXXefabXXef
reverse(text)反转reverse(‘abcde’) -> edcba
right(string text, n integer)返回后n个字符right(‘abcde’, 2) -> de
split_part(string text, delimiter text, n integer)split_part(‘abc~@~def~@~ghi’, ‘~@~’, 2) -> def
starts_with(string text, prefix text)判断是否已prefix开头starts_with(‘alphabet’, ‘alph’) -> true
substr(string text, start integer [, count integer])从start开始截取count位字符substr(‘alphabet’, 3) -> phabet
substr(‘alphabet’, 3, 2) -> ph
to_hex(integer)将数字转换为十六进制数to_hex(2147483647) -> 7fffffff

5. 格式化函数

常用的格式化函数如下表所示:

函数描述示例
to_char( timestamp, text)根据给定的格式将时间戳转换为字符串to_char(timestamp ‘2024-05-05 17:31:12.66’, ‘HH12:MI:SS’) -> 05:31:12
to_char(interval, text)根据给定的格式将间隔转换为字符串to_char(interval ‘15h 2m 12s’, ‘HH24:MI:SS’) -> 15:02:12
to_char(numeric, text)根据给定的格式将数字转换为字符串to_char(125, ‘999’) -> 125
to_char(125.8::real, ‘999D9’) -> 125.8
to_char(-125.8, ‘999D99S’) -> 125.80-
to_date(text, text)根据给定的格式将字符串转换为日期to_date(‘05 Dec 2023’, ‘DD Mon YYYY’) -> 2023-12-05
to_number(text, text)根据给定的格式将字符串转换为数字to_number(‘12454.8-’, ‘99G999D9S’) -> -12454.8
to_timestamp(text, text)根据给定的格式将字符串转换为时间戳to_timestamp(‘05 Dec 2023’, ‘DD Mod YYYY’) -> 2023-12-05 00:00:00-05

用于数字格式的模板样式如下表所示:

符号描述
9
0
.
,
PR括号中的负值
S负号
L货币符号
D小数点
G组分隔符
MI小于0时减号
PL大于0时加号
SG加号/减号
RN1~3999之间随机数
TH or th序列号后缀
V
EEEE

6. 日期时间函数和运算符

6.1. 日期时间运算符

常用的日期时间运算符如下表所示:

运算符描述示例
date + integer日期加天数date ‘2024-05-05’ + 7 -> 2024-05-12
date + interval日期加时间间隔date ‘2024-05-05’ + interval ‘1 hour’ -> 2024-05-05 01:00:00
date + time日期加时间date ‘2024-05-05’ + time ‘03:00’ -> 2024-05-05 03:00:00
interval + interval时间间隔相加interval ‘1 day’ + interval ‘1 hour’ -> 1 day 01:00:00
timestamp + interval时间戳加时间间隔timestamp ‘2024-05-05 01:00’ + interval ‘23 hours’ -> 2024-05-06 00:00:00
time + interval时间加时间间隔time ‘01:00’ + interval + ‘3 hours’ -> 04:00:00
- interval- interval ‘23 hours’ -> -23:00:00
date - date日期相隔天数date ‘2024-05-05’ - date ‘2024-05-02’ -> 3
date - integern天前date ‘2024-05-05’ - 3 -> 2024-05-02
date - interval日期减时间间隔date ‘2024-05-05’ - interval ‘1 hour’ -> 2024-05-04 23:00:00
time - time相隔多长时间time ‘05:00’ - time ‘03:00’ -> 02:00:00
time - interval时间减时间间隔time ‘05:00’ - interval ‘2 hours’ -> 03:00:00
timestamp - interval时间戳减时间间隔timestamp ‘2024-05-05 23:00’ - interval ‘23 hours’ -> 2024-05-05 00:00:00
interval - interval时间间隔相减interval ‘1 day’ - interval ‘1 hour’ -> 1day -01:00:00
interval * double precision时间间隔乘以小数interval ‘1 second’ * 900 -> 00:15:00
interval ‘1 day’ * 21 -> 21 days
interval ‘1 hour’ * 3.5 -> 03:30:00
interval / double precision时间间隔除以小数interval ‘1 hour’ / 1.5 -> 00:40:00

6.2. 日期时间函数

常用的日期时间函数如下表所示:

函数描述示例
age(timestamp, timestamp)age(timestamp ‘2024-05-05’, timestamp ‘2010-03-15’) -> 14 years 1 mon 21 days
age(timestamp)当前日期相减age(timestamp ‘2010-03-15’) -> 14 years 1 mon 24 days
clock_timestamp()当前日期时间带时区clock_timestamp() -> 2024-05-08 11:45:59.727 +0800
current_date当前日期current_date -> 2024-05-05
current_time当前时间current_time -> 14:39:53.662522+08
current_time(integer)当前时间带时区14:39:53.66+08
current_timestamp当前日期时间带时区current_timestamp(0) -> 2024-05-05 14:39:53+08
date_add(timestamp with time zone, interval [, text])日期相加date_add(‘2024-05-05 00:00:00+08’ :: timestamptz, ‘1 day’ :: interval, ‘Asia/Shanghai’) -> 2024-05-06 00:00:00+08
date_bin(interval, timestamp, timestamp)date_bin(‘15 minutes’, timestamp ‘2024-05-05 09:40:00’, timestamp ‘2024-05-05 09:05:00’) -> 2024-05-05 09:35:00.000
date_part(text, timestamp)获取小时数date_part(‘hour’, timestamp ‘2024-05-05 09:40:00’) -> 09
date_part(text, interval)date_part(‘month’, interval ‘2 years 3 months’) -> 3
date_subtract(timestamp with time zone, intervl [, text])日期相减date_subtract(‘2024-05-05 00:00:00+08’::timestamptz, ‘1 day’::interval, ‘Asia/Shanghai’) ->
date_trunc(text, timestamp)只获取日期和小时date_trunc(‘hour’, timestamp ‘2024-05-05 09:40:00’) -> 2024-05-05 09:00:00
date_trunc(text, timestamp with time zone, text)获取指定时区的日期date_trunc(‘day’, timestamptz ‘2024-05-05 09:40:00’, ‘Asia/Shanghai’) ->
date_trunc(text, interval)date_trunc(‘hour’, interval ‘2 days 3 hours 40 minutes’) -> 2 days 03:00:00
localtime获取当前时间localtime -> 09:40:53.662522
localtime(integer)获取当前时间localtime(0) -> 09:40:53
localtimestamp获取当前日期时间localtimestamp -> 2024-05-05 09:40:00.662522
localtimestamp(integer)获取当前日期时间localtimestamp(2) -> 2024-05-05 09:40:00.66
make_date(year int, month int, day int)make_date(2024, 05, 05) -> 2024-05-05
make_interval([years int [, months int [, weeks int [, days int [, hours int [, mins int [, secs double precision ]]]]]]])make_interval(days => 10) -> 10 days
make_time(hour int, min int, sec double precision)make_time(8, 15, 23.5) -> 08:15:23.5
make_timestamp(year int, month int, day int, hour int, min int, sec double precision)make_timestamp(2024, 05, 05, 8, 15, 23.5) -> 2024-05-05 08:15:23.5
make_timestamptz(year int, month int, day int, hour int, min int, sec double precision [, timezone text])make_timestamptz(2024, 5, 5, 8, 15, 23.5) -> 2024-05-05 08:15:23.5+08
make_timestamptz(2024, 5, 5, 8, 15, 23.5, ‘’) -> 2024-05-05 08:15:23.5+08
now()获取当前日期时间now() -> 2024-05-05 09:40:00.662522+08
statement_timestamp()当前日期时间statement_timestamp() -> 2024-05-05 14:04:32.735 +0800
timeofday()当前日期时间timeofday() ->
transaction_timestamp()当前日期时间transaction_timestamp() ->
to_timestamp(double precision)转换时间戳to_timestamp(23343) ->

7. 开窗函数

常用的开窗函数如下表所示:

函数描述
row_number()返回当前行在其分区内的编号,从1开始
rank()返回当前行的列组
dense_rank()返回当前行的排名
percent_rank返回当前行的相对排名,即(排名-1)/(总分区行数-1)
cume_dist()返回累积分布,即(当前行前面或与当前行对等的分区行数)/(分区行总数)
ntile(num integer)返回一个从1到参数值的整数
lag(value anycompatible [, offset integer [, default anycompatible]])
lead(value anycompatible [, offset integer [, default anycompatible]])
first_value(value anyelement)返回在窗口框架的第一行计算的值
last_value(value anyelement)返回在窗口框架的最后行计算的值
nth_value(value anyelement, n integer)返回在窗口框架的第n行计算的值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/603351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小麦穗检测数据集VOC+YOLO格式6508张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6508 标注数量(xml文件个数)&#xff1a;6508 标注数量(txt文件个数)&#xff1a;6508 标注…

MyBatis(XML映射器操作)

文章目录 XML映射器操作&#xff08;XxxMapper.xml&#xff09;文件目录1.基本介绍1.优点2.常用顶级元素 2.环境配置1.在原来的父模块下创建一个子模块2.删除没用的两个文件夹3.创建基本目录4.父模块的pom.xml5.jdbc.properties6.mybatis-config.xml7.测试使用MonsterMapperTes…

诛吕政变后,为何会是代王刘恒登上皇位?

公元前179年——这一年对于汉帝国而言是非常特殊的一年。在这一年&#xff0c;汉惠帝的所有儿子被秘密杀害。也就在这一年&#xff0c;远在北疆的诸侯王——代王刘恒在汉朝功臣周勃、丞相陈平等人的支持下在长安登基。 自此&#xff0c;汉朝皇位完成了一次“乾坤大挪移”——汉…

10、算数运算符(以 ‘/’、‘%’、‘++’为主去讲解)(Java超详细版本)

算数运算符 一、算数运算符二、“ / ”的使用三、“ % ”的使用四、“ ”的使用⭐ 一、算数运算符 算数运算符是对数值类型的变量进行运算的&#xff0c;在Java程序中使用的非常多的。 二、“ / ”的使用 1、Java中 “ / ” 的运算结果是省略小数部分的整数&#xff0c;不存…

2024年美国市场亚太游戏品牌数字广告洞察报告

来源&#xff1a;Sensor Tower 美国是全球最大的游戏市场之一&#xff0c;也是亚太游戏品牌出海的重要市场。2023年Q2至2024年Q1&#xff0c;美国市​场广告投放额排名前10的亚太游戏品牌&#xff0c;合计支出 超过7.5亿美元&#xff0c;环比上涨23%。 排名第一的米哈游(miHoY…

DES加密解密算法(简单、易懂、超级详细)

目录 一、基础补充 二、什么是DES算法 &#xff08;1&#xff09;对称加密算法 &#xff08;2&#xff09;非对称加密算法 &#xff08;3&#xff09;对称加密算法的应用 三、DES算法的基础操作步骤 1.明文的加密整体过程 2.F轮函数解析 3.密钥的形成过程 四、AC代码 五、D…

电脑怎么压缩视频?win端、Mac端压缩工具分享~

我们经常需要处理和分享视频文件。然而&#xff0c;视频文件往往会占用大量的存储空间&#xff0c;特别是高分辨率和高质量的视频。为了方便存储和分享&#xff0c;我们常常需要将视频文件进行压缩。本文将介绍如何使用电脑系统win端或Mac端自带的视频编辑器、以及常用的剪辑软…

Golang——IO操作

1. 输入输出的底层原理 终端其实是一个文件(Linux下一切皆文件)&#xff0c;相关实例如下&#xff1a; os.Stdin&#xff1a;标准输出的文件实例&#xff0c;类型为*Fileos.Stdout&#xff1a;标准输入的文件实例&#xff0c;类型为*Fileos.Stderr&#xff1a;标准错误输出的文…

元器件的检测及万用表的使用

实验目的&#xff1a; 1. 了解万用表的结构和原理&#xff1b; 2. 识别常用电子元器件&#xff0c;学习使用万用表测量电阻、电感、电容和二极管的方法&#xff1b; 3. 学习使用万用表测量直流电压和直流电流的方法&#xff1b; 4. 理解万用表内阻对测量结果的影响&#xf…

pythonnet调用dll提示DragDrop注册失败

问题描述 解决方案 在引入clr之前&#xff0c;引入pythoncom&#xff0c;并做初始化 # 注意这段代码必须在import clr之前否则无效 import pythoncom pythoncom.CoInitialize() import clr

【文献解析】3D高斯抛雪球是个什么玩意

论文地址&#xff1a;https://arxiv.org/abs/2308.04079 项目&#xff1a;3D Gaussian Splatting for Real-Time Radiance Field Rendering 代码&#xff1a;git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive 一、文章概述 1.1问题导向 辐射…

【学习笔记】HarmonyOS 4.0 鸿蒙Next 应用开发--安装开发环境

开发前的准备 首先先到官网去下载Devco Studio 这个开发工具&#xff0c;https://developer.harmonyos.com/cn/develop/deveco-studio/#download 提供了WIndows和Mac的开发环境&#xff0c;我自己是Windows的开发环境。 所以下载之后直接点击exe进行安装即可。 如果之前安装过…

时间如此珍贵,好的规划是成功的开始!防止时间流失!

时间如同沙子&#xff0c;无论你怎样去抓捏&#xff0c;都无法将其追回。对于我们每个人来说&#xff0c;时间都是一种宝贵的资源&#xff0c;我们需要合理利用它来实现我们的目标和梦想。然而&#xff0c;如果我们没有一个明确的计划&#xff0c;我们的行动将会变得毫无目的和…

使用单片机在图形点阵LCD上绘制波形图

使用单片机在图形点阵LCD上绘制波形图 需求&#xff1a; 假如有一组浮点数据&#xff0c;是通过AD转换得到的&#xff0c;保存在数组MyArray[]中&#xff0c;采集点数为len&#xff0c;采集周期为T&#xff0c;现在想用单片机在LCD上绘制出这组数据对应的波形图&#xff0c;该…

在做题中学习(50):搜索插入位置

35. 搜索插入位置 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a;二分查找 思路&#xff1a;题目是有序的&#xff0c;时间复杂度O(logN),二分没跑了&#xff0c;题目说如果找不到target&#xff0c;返回它应该被插入位置的下标&#xff0c;所以可以分析一下示例2&…

电子书3D翻页制作技巧大揭秘,轻松将文档转化为逼真仿真书!

随着数字化时代的到来&#xff0c;电子书已成为阅读的主流形式之一。然而&#xff0c;普通的电子书往往缺乏纸质书的质感和互动性&#xff0c;让人感到有些遗憾。今天&#xff0c;将为你揭秘电子书3D翻页制作技巧&#xff0c;让你轻松将文档转化为逼真仿真书&#xff01; 1.要制…

中国热门高端dating约会交友软件有哪些?国内权威Dating App红黑排行榜推荐

在dating 软件刷了无数个男人后终于脱单啦&#xff0c;跟大家分享一些我的个人感受 1、二狗 颜值⭐️⭐️⭐️ 真实性 ⭐️⭐️⭐️⭐️⭐️ 用户质量⭐️⭐️⭐️⭐️ ⭕️优点&#xff1a;整体用户质量较高&#xff0c;用户集中在金融、互联网和体制内行业。用户需进行学历、…

Oopsie从80端口到获取root权限的渗透过程

Oopsie 需要用到的工具burpnmapnc手写代码信息收集 由于是靶场的原因单一没有子站所以收集到ip就可以nmap扫描 拿到IP第一件事就是扫描端口 nmap -T4 -sV -sC -sS 10.129.24.79 -T4:提升扫描速度 -sV&#xff1a;查看详细版本 -sC:使用默认类别的脚本进行扫描 可更换其他类别…

ADC模-数转换原理与实现

1. 今日摸鱼计划 今天来学习一下ADC的原理&#xff0c;然后把ADC给实现 ADC芯片:ADC128S102 视频&#xff1a; 18A_基于SPI接口的ADC芯片功能和接口时序介绍_哔哩哔哩_bilibili 18B_使用线性序列机思路分析SPI接口的ADC芯片接口时序_哔哩哔哩_bilibili 18C_基于线性序列机的S…

“情况不明,对子先行”攻略

掼蛋作为一种策略性极强的游戏&#xff0c;不仅考验牌技&#xff0c;更考验玩家的智慧和策略布局。这里主要介绍一下当牌力不足的时候的普通策略—情况不明&#xff0c;对子先行。 当你的牌力不强&#xff0c;或者牌局情况不明朗时&#xff0c;自己手上有有比较多的对子&#x…
最新文章