赞
踩
regexp_replace
是一个SQL函数,用于将一个字符串中匹配正则表达式的部分替换为另一个字符串。它有一种用法:
REGEXP_REPLACE(source, pattern, replace [, position [, occurrence [, match_param ] ] ] )
:返回一个字符串,将字符串source
中从位置position
开始的第occurrence
个匹配正则表达式pattern
的部分替换为字符串replace
。这个函数支持Oracle。¹例如,下面的查询将一个字符串中的数字用星号替换:
SELECT REGEXP_REPLACE('My phone number is 123-456-7890', '\d', '*') AS Result FROM DUAL;
这个查询返回了My phone number is ***-***-****
。
下面的查询将一个字符串中的第二个单词用大写字母替换:
SELECT REGEXP_REPLACE('Hello world', '(\w+)', UPPER('\1'), 1, 2) AS Result FROM DUAL;
这个查询返回了Hello WORLD
。
更多关于regexp_replace
的信息,请参考:
(1) SQL REGEXP_REPLACE() Function - Way2tutorial. https://way2tutorial.com/sql/sql-regexp_replace-function.php.
(2) REGEXP_REPLACE - Oracle Help Center. https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/REGEXP_REPLACE.html.
(3) Perform regex (replace) in an SQL query - Stack Overflow. https://stackoverflow.com/questions/150977/perform-regex-replace-in-an-sql-query.
substr
是一个SQL函数,用于从一个字符串中截取一部分子字符串。它有一种用法:
SUBSTR(string, start, length)
:返回一个字符串,从字符串string
的位置start
开始,截取长度为length
的子字符串。这个函数支持MySQL、Oracle等数据库。¹³参数 | 描述 |
---|---|
string | 必需。要从中提取的字符串 |
start | 必需。起始位置。 可以是正数或负数。 如果是正数,则此函数从字符串的开头提取。 如果是负数,此函数从字符串的末尾提取 |
length | 可选。要提取的字符数。 如果省略,将返回整个字符串(从 start 位置开始) |
例如,下面的查询从一个字符串中截取前三个字符:
SELECT SUBSTR('SQL Tutorial', 1, 3) AS Result FROM DUAL;
这个查询返回了SQL
。
下面的查询从一个字符串中截取最后两个字符:
SELECT SUBSTR('SQL Tutorial', -2, 2) AS Result FROM DUAL;
这个查询返回了al
。
更多关于substr
的信息,请参考:
Source: Conversation with Bing, 9/7/2023
(1) MySQL SUBSTR() Function - W3Schools. https://www.w3schools.com/sql/func_mysql_substr.asp.
(2) SQL SUBSTRING 函數 - 1Keydata SQL語法教學. https://www.1keydata.com/tw/sql/sql-substring.html.
(3) SUBSTRING (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/en-us/sql/t-sql/functions/substring-transact-sql?view=sql-server-ver16.
(4) SUBSTR Function in SQL - javatpoint. https://www.javatpoint.com/substr-function-in-sql.
(5) SQL SUBSTRING() - SQL. https://sql.sh/fonctions/substring.
trunc
是一个SQL函数,用于截断一个日期。
TRUNC(date, fmt)
:返回一个日期,将日期的时间部分截断到由格式模型fmt
指定的单位。这个函数不受会话参数NLS_CALENDAR
的影响,按照公历的规则操作。返回值总是DATE
类型,即使你为日期指定了不同的日期时间类型。如果你省略了fmt
,那么默认的格式模型是'DD'
,返回值是日期截断到当天的午夜。¹例如,下面的查询将一个日期截断到年份:
SELECT TRUNC (TO_DATE ('27-OCT-92','DD-MON-YY'), 'YEAR') "New Year" FROM DUAL;
这个查询返回了01-JAN-92
。
更多关于TRUNC
的信息,请参考:
(1) TRUNC (date) - Oracle Help Center.
posexplode
是一个表值生成器函数,用于将一个数组或映射展开成一组行,每行包含数组或映射的元素和位置。它有两种用法:
posexplode(expr)
:返回一组行,将expr
的时间部分展开到由格式模型fmt
指定的单位。这个函数支持Azure Databricks和Databricks Runtime。¹²
posexplode(ARRAY<T> a)
:返回一组行,将数组a
的元素和位置展开。这个函数支持Spark SQL。³
例如,下面的查询将一个数组展开成一组行,每行包含数组的元素和位置:
SELECT pos, col FROM posexplode(array(10, 20));
这个查询返回了:
pos | col |
---|---|
0 | 10 |
1 | 20 |
下面的查询将一个映射展开成一组行,每行包含映射的键、值和位置:
SELECT pos, key, value FROM posexplode(map(10, 'a', 20, 'b'));
这个查询返回了:
pos | key | value |
---|---|---|
0 | 10 | a |
1 | 20 | b |
更多关于posexplode
的信息,请参考:
(1) posexplode table-valued generator function - Azure Databricks … https://learn.microsoft.com/en-us/azure/databricks/sql/language-manual/functions/posexplode.
(2) posexplode table-valued generator function | Databricks on AWS. https://docs.databricks.com/en/sql/language-manual/functions/posexplode.html.
(3) Implementing Spark posexplode() equivalent in the serverless SQL pool … https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/implementing-spark-posexplode-equivalent-in-the-serverless-sql/ba-p/3224698.
timefrom
是一个SQL函数,用于根据指定的时间和精度返回一个时间值。它有一种用法:
TIMEFROMPARTS(hour, minute, seconds, fractions, precision)
:返回一个时间值,将小时、分钟、秒、分数和精度组合成一个时间。这个函数支持SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics和Analytics Platform System (PDW)。¹例如,下面的查询返回一个时间值,将23小时、59分钟、59秒、0分数和0精度组合成一个时间:
SELECT TIMEFROMPARTS(23, 59, 59, 0, 0) AS Time;
这个查询返回了23:59:59
。
下面的查询返回一个时间值,将14小时、23分钟、44秒、500分数和3精度组合成一个时间:
SELECT TIMEFROMPARTS(14, 23, 44, 500, 3) AS Time;
这个查询返回了14:23:44.500
。
更多关于timefrom
的信息,请参考:
(1) TIMEFROMPARTS (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/en-us/sql/t-sql/functions/timefromparts-transact-sql?view=sql-server-ver16.
(2) MySQL TIME() Function - W3Schools. https://www.w3schools.com/SQL/func_mysql_time.asp.
(3) SQL Server TIMEFROMPARTS() Function By Examples. https://www.sqlservertutorial.net/sql-server-date-functions/sql-server-timefromparts/.
split
是一个SQL函数,用于将一个字符串按照指定的分隔符分割成多个子字符串。它有一种用法:
STRING_SPLIT(string, separator)
:返回一个表值,将字符串string
按照分隔符separator
分割成多个子字符串。这个函数支持SQL Server 2016 (13.x)及更高版本、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics和Analytics Platform System (PDW)。¹例如,下面的查询将一个字符串按照空格分割成多个单词:
SELECT value FROM STRING_SPLIT('Hello John Smith', ' ');
这个查询返回了:
value |
---|
Hello |
John |
Smith |
更多关于split
的信息,请参考:
(1) STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver16.
(2) sql - How do I split a delimited string so I can access individual … https://stackoverflow.com/questions/2647/how-do-i-split-a-delimited-string-so-i-can-access-individual-items.
(3) STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/es-es/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver16.
(4) How to Split a String in SQL Server | LearnSQL.com. https://learnsql.com/cookbook/how-to-split-a-string-in-sql-server/.
(5) STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/it-it/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver16.
repeat
是一个SQL函数,用于将一个字符串重复多次。它有两种用法:
REPEAT(string, count)
:返回一个字符串,将字符串string
重复count
次。这个函数支持MySQL。¹
REPLICATE(string, count)
:返回一个字符串,将字符串string
重复count
次。这个函数支持SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics和Analytics Platform System (PDW)。²
例如,下面的查询将一个字符串重复3次:
SELECT REPEAT('SQL Tutorial', 3);
或者
SELECT REPLICATE('SQL Tutorial', 3);
这个查询返回了SQL TutorialSQL TutorialSQL Tutorial
。
更多关于repeat
的信息,请参考:
(1) MySQL REPEAT() Function - W3Schools. https://www.w3schools.com/sqL/func_mysql_repeat.asp.
(2) repeat loop in Sql? - Stack Overflow. https://stackoverflow.com/questions/53034170/repeat-loop-in-sql.
(3) REPEAT statement in SQL procedures - IBM. https://www.ibm.com/docs/en/db2/11.5?topic=statements-repeat-statement-in-sql-procedures.
(4) MySQL REPEAT Loop - MySQL Tutorial. https://www.mysqltutorial.org/mysql-stored-procedure/mysql-repeat-loop/.
(5) 【SQL Server】 REPLICATE関数(文字列を繰り返す)の使い方 | いちれべ.com. https://ichilv.com/sql-replicte/.
datediff
是一个SQL函数,用于计算两个日期之间的差异。它有一种用法:
DATEDIFF(datepart, startdate, enddate)
:返回一个整数,表示两个日期startdate
和enddate
之间的指定日期部分datepart
的差异。这个函数支持SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics和Analytics Platform System (PDW)。¹例如,下面的查询计算两个日期之间的年份差异:
SELECT DATEDIFF(year, '2017/08/25', '2011/08/25') AS DateDiff;
这个查询返回了-6
。
下面的查询计算两个日期之间的小时差异:
SELECT DATEDIFF(hour, '2017/08/25 07:00', '2017/08/25 12:45') AS DateDiff;
这个查询返回了5
。
更多关于datediff
的信息,请参考:
(1) SQL Server DATEDIFF() Function - W3Schools. https://www.w3schools.com/SQl/func_sqlserver_datediff.asp.
(2) DATEDIFF (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/en-us/sql/t-sql/functions/datediff-transact-sql?view=sql-server-ver16.
(3) DATEDIFF (Transact-SQL) - SQL Server | Microsoft Learn. https://learn.microsoft.com/pt-br/sql/t-sql/functions/datediff-transact-sql?view=sql-server-ver16.
(4) Understanding Datediff in SQL With Syntax, Examples and More. https://www.simplilearn.com/tutorials/sql-tutorial/datediff-in-sql.
(5) SQL语句中DATEDIFF()函数的用法_Candy_Sir的博客-CSDN博客. https://blog.csdn.net/Candy_Sir/article/details/85231400.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。