CREATE OR REPLACE FUNCTION FUN_GET_PYCODE(p_str IN VARCHAR2, p_flag NUMBER DEFAULT NULL) RETURN VARCHAR2 AS v_compare ); v_return ); v_length ; v_substr ); FUNCTION fn_nlssort(p_word IN VARCHAR2) RETURN VARCHAR2 AS BEGIN , ); END fn_nlssort; BEGIN IF
1.建立函数 CREATE OR REPLACE FUNCTION F_PINYIN(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE ); V_RETURN ); FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS BEGIN RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M'); END; BEGIN ..NVL(LENGTH(P
通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 效果1,获取拼音简码: 效果2,获取姓名首字母: 创建函数: /* 获取拼音简码函数 */ CREATE OR REPLACE FUNCTION GET_PYJM (P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE ); V_RETURN ); BEGIN DECLARE FUNCTION F_NLSSORT (P_WORD IN VARCHAR2) RE
今天写需求,要求将结果按照成本中心首字母排序,平且空放在最前面. 进入正题: 1.使用oracle自带的函数: 按照首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYIN_M') 例如:select * from qin t order by nlssort(t.ename,'NLS_SORT=SCHINESE_PINYIN_M'); 将空值放在最前面只需要加上 nulls first 例如:select * from qin t order by nlssort
--创建取汉字首字母函数(第三版) create function [dbo].[f_getpy_V3] ( ) ) ) as begin ),) ,@len = len(@col),@sql = '' while @cyc <= @len begin ) as varbinary) ),ecode ),letter )) insert into @maco select 0XB0A1,0XB0C4,'A' union all select 0XB0C5,0XB2C0,'B' union all
1:创建函数: USE [test] GO /****** 对象: UserDefinedFunction [dbo].[GetFirstChar] 脚本日期: 02/22/2019 16:39:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --创建中文截取字符函数 )) ) AS BEGIN ), ) SET @ReturnString = '' BEGIN --依次取单个字符 ) ----汉字字符,返回字符对应首字母,