文档库 最新最全的文档下载
当前位置:文档库 › Access日期和时间函数

Access日期和时间函数

1.Cdate(日期表达式)

将日期表达式转换成日期类型的数据。

日期表达式是任何可以解释成日期的表达式,包含日期文字,可以看作日期的字符串以及从函数返回的日期。

比如:myDate = CDate("99-5-20") ,这样的日期表达式必须加双引号,否则结果不可预料。CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。

2.Now()

返回当前计算机系统设置的日期和时间。

3.Y ear(日期表达式)

返回表示年份的整数。

比如:Y ear("00-6-15") = 2000

4.Month(日期表达式)

返回 1 到12 之间的整数,表示一年中的某月。

比如:Month("00-6-15") = 6

5.DateAdd(interval, number, date)

DateAdd 函数语法中有下列命名参数:

部分描述

interval 必要。字符串表达式,是所要加上去的时间间隔。

number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。

date 必要。V ariant (Date) 或表示日期的文字,这一日期还加上了时间间隔。

设置interval 参数具有以下设定值:

设置描述

yyyy 年

q 季

m 月

y 一年的日数

d 日

w 一周的日数

ww 周

h 时

n 分钟

s 秒

说明

可以使用DateAdd 函数对日期加上或减去指定的时间间隔。

例如,可以用DateAdd 来计算距今天为三十天的日期;或者计算距现在为45 分钟的时间。为了对date 加上―日‖,可以使用―一年的日数‖ (―y‖),―日‖ (‖d‖) 或―一周的日数‖ (‖w‖)。DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月:

DateAdd(m, 1, 31-Jan-95)

上例中,DateAdd 返回1995 年 2 月28 日,而不是1995 年 2 月31 日。

如果date 是1996 年 1 月31 日,则由于1996 年是闰年,返回值是1996 年 2 月29 日。

如果计算的日期超前100 年(减去的年度超过date 中的年份),就会导致错误发生。

如果number 不是一个Long 值,则在计算时取最接近的整数值来计算。

注意DateAdd 返回值的格式由Control Panel设置决定,而不是由传递到date 参数的格式决定。

事例:

DateAdd("d",10,"2000-6-18")

结果是:2000-06-28

DateAdd("m",-1,"2000-6-18")

结果是:2000-05-18

6、DateDiff 函数

返回V ariant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数:

部分描述

interval 必要。字符串表达式,表示用来计算date1 和date2 的时间差的时间间隔

Date1□date2 必要;V ariant (Date)。计算中要用到的两个日期。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含1 月1 日的星期为第一周。

interval 参数的设定值同DateAdd函数,请参考上面的例子。

例:DateDiff("d",#2004-01-06#,#2004-01-07#) 1

7、DatePart 函数

返回一个包含已知日期的指定时间部分的V ariant (Integer)。

语法DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 函数语法中有下列命名参数:

部分描述

interval 必要。字符串表达式,是要返回的时间间隔。

date 必要。要计算的V ariant (Date) 值。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含1 月1 日的星期为第一周。

设置

interval 参数的设定值同DateAdd()

DatePart 函数示例本示例先取得一个日期,然后使用DatePart 函数显示该日期是发生在该年的哪一季。

Dim TheDate As Date ' 声明变量。

Dim Msg

T

12、Time 函数

返回一个指明当前系统时间的V ariant (Date)。

语法

Time

示例

使用Time 函数返回系统当前的时间。

Dim MyTimeMyTime = Time ' 返回系统当前的时间

说明

为了设置系统时间,请使用Time 语句。

设置系统时间。

语法

Time = time

必要的time 参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合。说明

如果time 是一字符串,则Time 会试着根据系统指定的时间,利用时间分隔符将其转换成一个时间。如果无法转换成一个有效的时间,则会导致错误发生。

13、FormatDateTime函数

描述

返回一个日期或时间格式的表达式。

语法

FormatDateTime(Date[,NamedFormat])

FormatDateTime函数语法有如下几部分:

部分描述

Date 必需的。要被格式化的日期表达式

NamedFormat可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。

设置值

NamedFormat参数的设置值如下:

常数值描述

vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。

VbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。

VbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。

18、用户自定义日期/时间格式(Format 函数)

下面标识一些可用来创建用户自定义日期/时间格式的字符:

字符说明

(:) 时间分隔符。在一些区域,可能用其他符号来当时间分隔符。格式化时间值时,时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。(/) 日期分隔符。在一些区域,可能用其他符号来当日期分隔符。格式化日期数值时,日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。

c 以dddd

d 来显示日期并且以ttttt 来显示时间。如果想显示的数值无小数部分,则只显示日期部分,如果想显示的数值无整数部分,则只显示时间部分。

d 以没有前导零的数字来显示日(1–31)。

dd 以有前导零的数字来显示日(01–31)。

ddd 以简写来表示日(Sun–Sat)

dddd 以全称来表示日(Sunday–Saturday)

ddddd 以完整日期表示法显示(包括年、月、日),日期的显示要依系统的短日期格式设置而定。

dddddd 以完整日期表示法显示日期系列数(包括年、月、日),日期的显示要依系统识别的长日期格式而定。缺省的长日期格式为mmmm

dd, yyyy。

aaaa 与dddd 一样,它只是该字符串的本地化版本。

w 将一周中的日期以数值表示(1 表星期日~ 7表星期六)。

ww 将一年中的星期以数值表示(1–54)。

m 以没有前导零的数字来显示月(1–12)。如果m 是直接跟在h 或hh 之后,那么显示的将是分而不是月。

mm 以有前导零的数字来显示月(01 – 12)。如果m是直接跟在h或hh之后,那么显示的将是分而不是月。

mmm 以简写来表示月(Jan–Dec)。

mmmm 以全称来表示月(January–December)。

oooo 与mmmm一样,它只是该字符串的本地化版本。

q 将一年

如何将文本型:2003.08.04 转换为日期型:2003-08-04

cdate(replace("2003.08.04",".","-"))

显示当前日期在该年中所处的星期号

=Format(Now(), "ww")

ww 为1 到53。

显示日期字段值的四位年份值。

=DatePart("yyyy", [订购日期])

显示日期字段值前10 天的日期值。

=DateAdd("y", -10, [应付日期])

显示日期字段值前一个月的日期值。

=DateAdd("m",-1,Date())

显示日期1和日期2之间相差的天数。

=DateDiff("d", [订购日期], [发货日期])

从今天算起到三个月后的日期之间的记录。

Betweeb date() and adddate(3,date())

根据出生日期计算年龄(周岁)

=IIf(Month(Date())-Month([出生年月日])>-1,Y ear(Date())-Y ear([出生年月

日]),Y ear(Date())-Y ear([出生年月日])-1)

日期函数示例

当天日期:=Date()

当日:=Day(date)

当月:=Month(date())

当年:=Y ear(date())

当季:=DatePart("q",Date())

算出每个月的天数

一法:

Dim a, b, c

a = Y ear(Now())

b = Month(Now())

c = Format((a & "/" & b + 1 & "/1"), "######") - Format((a & "/" & b & "/1"), "######")

二法:

DateDiff("d", Format(Date, "yyyy-mm-01"), Format(DateAdd("m", -1, Date), "yyyy-mm-01")) DateDiff可以算出两个日期之间相差几天!

三法:

Day(DateAdd("d", -1, Format(Date, "yyyy-mm-01")))

day函数可以知道某个日期是这个月的第几天,我们把这个月的最后一天拿出来DA Y一下!应该还有更好的方法!

比如说可以定义一个数组,把每个月的日子放进去,或者说写一个函数算每一个月的天数只要考虑一下闺年的问题就可以了!

如何得到某年每个月的第一天是星期几

Private Sub Command1_Click()

Dim i As Integer, A As Integer, B As Integer, C As String

A = InputBox("请输入年份", "某年每个月的第一天是星期几")

Form1.Cls

For i = 1 To 12

C = A & "-" & i & "-1"

B = Weekday(C)

Select Case B

Case vbSunday

Print A & "年" & i & "月1日是星期日"

Case vbMonday

Print A & "年" & i & "月1日是星期一"

Case vbTuesday

Print A & "年" & i & "月1日是星期二"

Case vbWednesday

Print A &a

-----------

Sql Server中的日期与时间函数?蒰(寝?

1. 当前系统日期、时间F桗?赝Q?

select getdate() 鈙H 倂建

鶞Oh牧\"葵

2. dateadd 在向指定日期加上一段时间的基础上,返回新的datetime 值r鯔俏? ?

例如:向日期加上2天?5皴? 煃

select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000Ew郬*矝?

?礛娞>??

3. datediff 返回跨两个指定日期的日期和时间边界数。jo u 秙溽

select datediff(day,'2004-09-01','2004-09-18') --返回:17?鼄G驂W

毰筒???

4. datepart 返回代表指定日期的指定日期部分的整数。劸赔D\//穙

SELECT DA TEPART(month, '2004-10-15') --返回10Rk銍倝K$7$

欤晛u!: ?

5. datename 返回代表指定日期的指定日期部分的字符串堼梶U咙

SELECT datename(weekday, '2004-10-15') --返回:星期五S 吜瞎d湺

' 茜?鈠6

6. day(), month(),year() --可以与datepart对照一下V?u罞戀/m

? HZ?S

select 当前日期=convert(varchar(10),getdate(),120) s1喨??

,当前时间=convert(varchar(8),getdate(),114) 即N 屾蛶4

抗栳B銫K'/

select datename(dw,'2004-10-15') ?3慯萳籋?

b?|

select 本年第多少周=datename(week,'2004-10-15')宎梯d <短?

,今天是周几=datename(weekday,'2004-10-15')牶?1嶙挈

鱒聈W]?n

奄<8姓婨?

函数参数/功能y? 蓦??

GetDate( ) 返回系统目前的日期与时间'瞫濾#縶?

DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值date2-date1 鸊脺儔砍?

DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期" 鐺e蠅5流DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值鑒/蟉错渥DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称杶逯夤脅c 呓h :l =?

参数interval的设定值如下:掅YW @鲫=

8?濠?

值缩写(Sql Server)(Access 和ASP) 说明蔟T)軤

Y ear Yy yyyy 年1753 ~ 9999 A玍癣0qg

Quarter Qq q 季1 ~ 4 駨#伥沠?F;

Month Mm m 月1 ~ 12 O?c(a耀蒪

Day of year Dy y 一年的日数,一年中的第几日1-366 Y 觲挰褽

Day Dd d 日,1-31 粤茎綪嶴诳

Weekday Dw w 一周的日数,一周中的第几日1-7 襪齀& ?

Week Wk ww 周,一年中的第几周0 ~ 51 ?X葤7 膧

Hour Hh h 时0 ~ 23 F?F啇U暜?

Minute Mi n 分钟0 ~ 59 貞』~r笍o

Second Ss s 秒0 ~ 59 ?6Y?";d

Millisecond Ms - 毫秒0 ~ 999 AQ彩堐?E8

?闪潽麘缂

Ъ@p彰t3

access 和asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同

是能用于Access和asp中,这些函数的用法也类似畵?b'?

HLu 阏p缤

举例:/0R符?氦?

1.GetDate() 用于sql server :select GetDate()邊象4 面?

X"g# $逹

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为514592 秒O 侠札⒚DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天倮KiC伅嬟

v 嶇嶽?觬

3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)?聕qV0? DatePart('d','2005-7-25 22:56:32')返回值为25即25号y萱1雍破?

DatePart('y','2005-7-25 22:56:32')返回值为206即这一年中第206天髄? 驐?

DatePart('yyyy','2005-7-25 22:56:32')返回值为2005即2005年

========

MSSQL汉字转拼音函数实现语句

2009-11-10 16:37

/* -------------------------------------------------------------

函数: fn_GetPinyin

描述: 汉字转拼音(无数据表版)

使用: dbo.fn_GetPinyin('中华人民共和国') = zhonghuarenmingongheguo

作者: 流香羽(改编:Tony)

------------------------------------------------------------- */

IF OBJECT_ID('[fn_GetPinyin]') IS NOT NULL

DROP FUNCTION [fn_GetPinyin]

GO

create function [dbo].[fn_GetPinyin](@words nvarchar(2000))

returns varchar(8000)

as

begin

declare @word nchar(1)

declare @pinyin varchar(8000)

declare @i int

declare @words_len int

declare @unicode int

set @i = 1

set @words = ltrim(rtrim(@words))

set @words_len = len(@words)

while (@i <= @words_len) --循环取字符

begin

set @word = substring(@words, @i, 1)

set @unicode = unicode(@word)

set @pinyin = ISNULL(@pinyin +SPACE(1),'')+

(case when unicode(@word) between 19968 and 19968+20901 then (select top 1 py from (

select 'a' as py,N'厑' as word

union all select 'ai',N'靉'

union all select 'an',N'黯'

union all select 'ang',N'醠'

union all select 'ao',N'驁'

union all select 'ba',N'欛'

union all select 'bai',N'瓸' --韛兡瓸

union all select 'ban',N'瓣'

union all select 'bang',N'鎊'

union all select 'bao',N'鑤'

union all select 'bei',N'鐾'

union all select 'ben',N'輽'

union all select 'beng',N'鏰'

union all select 'bi',N'鼊'

union all select 'bian',N'變'

union all select 'biao',N'鰾'

union all select 'bie',N'彆'

union all select 'bin',N'鬢'

union all select 'bing',N'靐'

union all select 'bo',N'蔔'

union all select 'bu',N'簿'

union all select 'ca',N'囃'

union all select 'cai',N'乲' --縩乲

union all select 'can',N'爘'

union all select 'cang',N'賶'

union all select 'cao',N'鼜'

union all select 'ce',N'簎'

union all select 'cen',N'笒'

union all select 'ceng',N'乽' --硛硳岾猠乽

union all select 'cha',N'詫'

union all select 'chai',N'囆'

union all select 'chan',N'顫'

union all select 'chang',N'韔'

union all select 'chao',N'觘'

union all select 'che',N'爡'

union all select 'chen',N'讖'

union all select 'cheng',N'秤'

union all select 'chi',N'鷘'

union all select 'chong',N'銃'

union all select 'chou',N'殠'

union all select 'chuai',N'踹' union all select 'chuan',N'鶨' union all select 'chuang',N'愴' union all select 'chui',N'顀' union all select 'chun',N'蠢' union all select 'chuo',N'縒' union all select 'ci',N'嗭' --賜嗭union all select 'cong',N'謥' union all select 'cou',N'輳'

union all select 'cu',N'顣'

union all select 'cuan',N'爨' union all select 'cui',N'臎'

union all select 'cun',N'籿'

union all select 'cuo',N'錯'

union all select 'da',N'橽'

union all select 'dai',N'靆'

union all select 'dan',N'饏'

union all select 'dang',N'闣' union all select 'dao',N'纛'

union all select 'de',N'的'

union all select 'den',N'扽'

union all select 'deng',N'鐙' union all select 'di',N'螮'

union all select 'dia',N'嗲'

union all select 'dian',N'驔' union all select 'diao',N'鑃' union all select 'die',N'嚸' --眰嚸union all select 'ding',N'顁' union all select 'diu',N'銩'

union all select 'dong',N'霘' union all select 'dou',N'鬭'

union all select 'du',N'蠹'

union all select 'duan',N'叾' --籪叾union all select 'dui',N'譵'

union all select 'dun',N'踲'

union all select 'duo',N'鵽'

union all select 'e',N'鱷'

union all select 'en',N'摁'

union all select 'eng',N'鞥'

union all select 'er',N'樲'

union all select 'fa',N'髮'

union all select 'fan',N'瀪'

union all select 'fang',N'放'

union all select 'fen',N'鱝'

union all select 'feng',N'覅'

union all select 'fo',N'梻'

union all select 'fou',N'鴀'

union all select 'fu',N'猤' --鰒猤

union all select 'ga',N'魀'

union all select 'gai',N'瓂'

union all select 'gan',N'灨'

union all select 'gang',N'戇'

union all select 'gao',N'鋯'

union all select 'ge',N'獦'

union all select 'gei',N'給'

union all select 'gen',N'搄'

union all select 'geng',N'堩' --亙堩啹喼嗰union all select 'gong',N'兣' --熕贑兝兣union all select 'gou',N'購'

union all select 'gu',N'顧'

union all select 'gua',N'詿'

union all select 'guai',N'恠'

union all select 'guan',N'鱹'

union all select 'guang',N'撗'

union all select 'gui',N'鱥'

union all select 'gun',N'謴'

union all select 'guo',N'腂'

union all select 'ha',N'哈'

union all select 'hai',N'饚'

union all select 'han',N'鶾'

union all select 'hang',N'沆'

union all select 'hao',N'兞'

union all select 'he',N'靏'

union all select 'hei',N'嬒'

union all select 'hen',N'恨'

union all select 'heng',N'堼' --堼囍union all select 'hong',N'鬨'

union all select 'hou',N'鱟'

union all select 'hu',N'鸌'

union all select 'hua',N'蘳'

union all select 'huai',N'蘾'

union all select 'huan',N'鰀'

union all select 'huang',N'鎤'

union all select 'hui',N'顪'

union all select 'hun',N'諢'

union all select 'huo',N'夻'

union all select 'jia',N'嗧'

union all select 'jian',N'鑳'

union all select 'jiang',N'謽'

union all select 'jiao',N'釂'

union all select 'jie',N'繲'

union all select 'jin',N'齽'

union all select 'jing',N'竸'

union all select 'jiong',N'蘔'

union all select 'jiu',N'欍'

union all select 'ju',N'爠'

union all select 'juan',N'羂'

union all select 'jue',N'钁'

union all select 'jun',N'攈'

union all select 'ka',N'鉲'

union all select 'kai',N'乫' --鎎乫

union all select 'kan',N'矙'

union all select 'kang',N'閌'

union all select 'kao',N'鯌'

union all select 'ke',N'騍'

union all select 'ken',N'褃'

union all select 'keng',N'鏗' --巪乬唟厼怾union all select 'kong',N'廤'

union all select 'kou',N'鷇'

union all select 'ku',N'嚳'

union all select 'kua',N'骻'

union all select 'kuai',N'鱠'

union all select 'kuan',N'窾'

union all select 'kuang',N'鑛'

union all select 'kui',N'鑎'

union all select 'kun',N'睏'

union all select 'kuo',N'穒'

union all select 'la',N'鞡'

union all select 'lai',N'籟'

union all select 'lan',N'糷'

union all select 'lang',N'唥'

union all select 'lao',N'軂'

union all select 'le',N'餎'

union all select 'lei',N'脷' --嘞脷

union all select 'leng',N'睖'

union all select 'li',N'瓈'

union all select 'lia',N'倆'

union all select 'lian',N'纞'

union all select 'liang',N'鍄'

union all select 'lie',N'鱲'

union all select 'lin',N'轥' --轥拎

union all select 'ling',N'炩'

union all select 'liu',N'咯' --瓼甅囖咯union all select 'long',N'贚'

union all select 'lou',N'鏤'

union all select 'lu',N'氇'

union all select 'lv',N'鑢'

union all select 'luan',N'亂'

union all select 'lue',N'擽'

union all select 'lun',N'論'

union all select 'luo',N'鱳'

union all select 'ma',N'嘛'

union all select 'mai',N'霢'

union all select 'man',N'蘰'

union all select 'mang',N'蠎'

union all select 'mao',N'唜'

union all select 'me',N'癦' --癦呅

union all select 'mei',N'嚜'

union all select 'men',N'們'

union all select 'meng',N'霥' --霿踎union all select 'mi',N'羃'

union all select 'mian',N'麵'

union all select 'miao',N'廟'

union all select 'mie',N'鱴' --鱴瓱

union all select 'min',N'鰵'

union all select 'ming',N'詺'

union all select 'miu',N'謬'

union all select 'mo',N'耱' --耱乮

union all select 'mou',N'麰' --麰蟱

union all select 'mu',N'旀'

union all select 'na',N'魶'

union all select 'nai',N'錼'

union all select 'nan',N'婻'

union all select 'nang',N'齉'

union all select 'nao',N'臑'

union all select 'ne',N'呢'

union all select 'nei',N'焾' --嫩焾

union all select 'nen',N'嫩'

union all select 'neng',N'能' --莻嗯鈪銰啱union all select 'ni',N'嬺'

union all select 'nian',N'艌'

union all select 'niang',N'釀'

union all select 'nie',N'钀'

union all select 'nin',N'拰'

union all select 'ning',N'濘'

union all select 'niu',N'靵'

union all select 'nong',N'齈'

union all select 'nou',N'譳'

union all select 'nu',N'搙'

union all select 'nv',N'衄'

union all select 'nue',N'瘧'

union all select 'nuan',N'燶' --硸黁燶郍union all select 'nuo',N'桛'

union all select 'o',N'鞰' --毮夞乯鞰union all select 'ou',N'漚'

union all select 'pa',N'袙'

union all select 'pai',N'磗' --鎃磗

union all select 'pan',N'鑻'

union all select 'pang',N'胖'

union all select 'pao',N'礮'

union all select 'pei',N'轡'

union all select 'pen',N'喯'

union all select 'peng',N'喸' --浌巼闏乶喸union all select 'pi',N'鸊'

union all select 'pian',N'騙'

union all select 'piao',N'慓'

union all select 'pie',N'嫳'

union all select 'pin',N'聘'

union all select 'ping',N'蘋'

union all select 'po',N'魄'

union all select 'pou',N'哛' --兺哛

union all select 'pu',N'曝'

union all select 'qi',N'蟿'

union all select 'qia',N'髂'

union all select 'qian',N'縴'

union all select 'qiang',N'瓩' --羻兛瓩union all select 'qiao',N'躈'

union all select 'qie',N'籡'

union all select 'qin',N'藽'

union all select 'qing',N'櫦'

union all select 'qiong',N'瓗'

union all select 'qiu',N'糗'

union all select 'qu',N'覻'

union all select 'quan',N'勸'

union all select 'que',N'礭'

union all select 'ran',N'橪'

union all select 'rang',N'讓'

union all select 'rao',N'繞'

union all select 're',N'熱'

union all select 'ren',N'餁'

union all select 'reng',N'陾'

union all select 'ri',N'馹'

union all select 'rong',N'穃'

union all select 'rou',N'嶿'

union all select 'ru',N'擩'

union all select 'ruan',N'礝'

union all select 'rui',N'壡'

union all select 'run',N'橍' --橍挼union all select 'ruo',N'鶸'

union all select 'sa',N'栍' --櫒栍union all select 'sai',N'虄' --簺虄union all select 'san',N'閐'

union all select 'sang',N'喪'

union all select 'sao',N'髞'

union all select 'se',N'飋' --裇聓union all select 'sen',N'篸'

union all select 'seng',N'縇' --閪縇union all select 'sha',N'霎'

union all select 'shai',N'曬'

union all select 'shan',N'鱔'

union all select 'shang',N'緔'

union all select 'shao',N'潲'

union all select 'she',N'欇'

union all select 'shen',N'瘮'

union all select 'sheng',N'賸'

union all select 'shi',N'瓧' --鰘齛兙瓧union all select 'shou',N'鏉'

union all select 'shu',N'虪'

union all select 'shua',N'誜'

union all select 'shuai',N'卛'

union all select 'shuan',N'腨'

union all select 'shuang',N'灀'

union all select 'shui',N'睡'

union all select 'shun',N'鬊'

union all select 'shuo',N'鑠'

union all select 'si',N'乺' --瀃螦乺union all select 'song',N'鎹'

union all select 'sou',N'瘶'

union all select 'suan',N'算'

union all select 'sui',N'鐩'

union all select 'sun',N'潠'

union all select 'suo',N'蜶'

union all select 'ta',N'襨' --躢襨union all select 'tai',N'燤'

union all select 'tan',N'賧'

union all select 'tang',N'燙'

union all select 'tao',N'畓' --討畓union all select 'te',N'蟘'

union all select 'teng',N'朰' --霯唞朰union all select 'ti',N'趯'

union all select 'tian',N'舚'

union all select 'tiao',N'糶'

union all select 'tie',N'餮'

union all select 'ting',N'乭' --濎乭union all select 'tong',N'憅'

union all select 'tou',N'透'

union all select 'tu',N'鵵'

union all select 'tuan',N'褖'

union all select 'tui',N'駾'

union all select 'tun',N'坉'

union all select 'tuo',N'籜'

union all select 'wa',N'韤'

union all select 'wai',N'顡'

union all select 'wan',N'贎'

union all select 'wang',N'朢'

union all select 'wei',N'躛'

union all select 'wen',N'璺'

union all select 'weng',N'齆'

union all select 'wo',N'齷'

union all select 'wu',N'鶩'

union all select 'xi',N'衋'

union all select 'xia',N'鏬'

union all select 'xian',N'鼸'

union all select 'xiang',N'鱌'

union all select 'xiao',N'斆'

union all select 'xie',N'躞'

union all select 'xin',N'釁'

union all select 'xing',N'臖'

union all select 'xiong',N'敻'

union all select 'xiu',N'齅'

union all select 'xu',N'蓿'

union all select 'xue',N'瀥'

union all select 'xun',N'鑂'

union all select 'ya',N'齾'

union all select 'yan',N'灩'

union all select 'yang',N'樣' union all select 'yao',N'鑰'

union all select 'ye',N'岃' --鸈膶岃union all select 'yi',N'齸'

union all select 'yin',N'檼'

union all select 'ying',N'譍' union all select 'yo',N'喲'

union all select 'yong',N'醟' union all select 'you',N'鼬'

union all select 'yu',N'爩'

union all select 'yuan',N'願' union all select 'yue',N'鸙'

union all select 'yun',N'韻'

union all select 'za',N'雥'

union all select 'zai',N'縡'

union all select 'zan',N'饡'

union all select 'zang',N'臟' union all select 'zao',N'竈'

union all select 'ze',N'稄'

union all select 'zei',N'鱡'

union all select 'zen',N'囎'

union all select 'zeng',N'贈' union all select 'zha',N'醡'

union all select 'zhai',N'瘵'

union all select 'zhan',N'驏' union all select 'zhang',N'瞕' union all select 'zhao',N'羄' union all select 'zhe',N'鷓'

union all select 'zhen',N'黮' union all select 'zheng',N'證' union all select 'zhi',N'豒'

union all select 'zhong',N'諥' union all select 'zhou',N'驟' union all select 'zhu',N'鑄'

union all select 'zhua',N'爪' union all select 'zhuai',N'跩' union all select 'zhuan',N'籑' union all select 'zhuang',N'戅' union all select 'zhui',N'鑆'

union all select 'zhuo',N'籱'

union all select 'zi',N'漬' --漬唨

union all select 'zong',N'縱'

union all select 'zou',N'媰'

union all select 'zu',N'謯'

union all select 'zuan',N'攥'

union all select 'zui',N'欈'

union all select 'zun',N'銌'

union all select 'zuo',N'咗') t

where word >= @word collate Chinese_PRC_CS_AS_KS_WS

order by word ASC) else @word end)

set @i = @i + 1

end

return @pinyin

END

GO

SELECT dbo.fn_GetPinyin('中华人民共和国')

/*

-------------------------------------------

zuo zhong hua ren min gong he guo

(1 行受影响)

*/

本文来自: 脚本之家(https://www.wendangku.net/doc/6214624427.html,) 详细出处参考:https://www.wendangku.net/doc/6214624427.html,/article/20075.htm

MSSQL自动流水帐号的生成第二种方法(无自定义函数)

2009-09-15 00:24

流水号对于流水账单和登记表的作用尤为重要,看过网上多数版本都是在SQL SERVER写的自定义函数来实现自动编号的,但是这样有一个缺点,就是在插入记录之前是没有编号的,只有插入一条记录后才自动生成一个编号。对于自定义函数中获取系统当前时间也有一个缺陷,就是SQL SERVER函数不支持不确定性的函数,因此不能通过GETDA TE()函数来直接获取日期的,大多是通过建立临时表或者视图来间接实现的,个人觉得比较麻烦。

函数确定性

DA TEADD具有确定性

DA TEDIFF具有确定性

DA TENAME不具有确定性

DA TEPART 除了用作DA TEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的SET DA TEFIRST 所设置的值。

DAY具有确定性

GETDA TE不具有确定性

GETUTCDA TE不具有确定性

MONTH具有确定性

YEAR具有确定性

现实生活中的流水帐号的格式有五花八门,本来主要探讨一种比较普遍的格式2位字符串+4位年月日期+4位递增数字(如MA2009090001),其他格式都不是问题。

Declare @SerialLong int,@i int,@ObjLeng int

set @SerialLong = 4 --定义最大的单号长度位数

Declare @NowDate varchar(10)

set @NowDate = GetDate() --取得本日完整日期

Declare @NowY ear char(4),@NowMonth char(2),@NowDay char(2)

set @NowY ear = year(@NowDate) --取得年份

set @NowMonth = Month(@NowDate) --取得月份

set @NowDay = Day(@NowDate) --取得日期

Declare @FullY ear char(4), @fullMonth char(2),@FullDay char(2),@FullYMD char(8)

set @fullyear = @NowY ear

--select @fullyear

if Len(@NowMonth) = 1 --如果月份为10月以下则在月份前加0

Begin

set @FullMonth = '0' + @NowMonth

End

Else

Begin

set @FullMonth = @NowMonth

end

--select @FullMonth

--IF LEN(@NOWDAY) = 1 --如果日期小于10则在前面加0

--BEGIN

--SET @FULLDAY = '0' + @NOWDAY

--END

--Else

--Begin

--set @FullDay = @NowDay

--End

--组合今日的完整日期

--set @FullYmd ='MA'+@fullyear+@fullMonth+@FullDay

set @FullYmd ='MA'+@fullyear+@fullMonth

--select @FullYmd

Declare @MaxSerial char(4)

--取得最大的序列号,如果为空时默认编为0:此处请改为自已对应表的对应字段进行查询select @MaxSerial = isNull(SUBSTRING(MAX(UserID),9,4),'0') From A_CY_AdminUser

IF isnumeric(@MaxSerial) = 1 --检查当前的流水号是否为数值

Begin

set @MaxSerial = @MaxSerial + 1

set @ObjLeng = Len(@MaxSerial)

IF @ObjLeng < @SerialLong

begin

set @i = 0

While @i < (@SerialLong-@ObjLeng) --循环判断是否小于定义长度,小于则在前面+0

Begin

set @MaxSerial = '0' + convert(varchar(4),@MaxSerial)

set @i = @i + 1

IF @i < (@SerialLong-@ObjLeng)

continue

Else

break

End

End

End

IF len(@MaxSerial) = @SerialLong --判断序列号是否已满9999

Begin

Declare @FullSerial char(12)

set @FullSerial = @FullYMD + @MaxSerial --组合新的完整编号

End

else

Begin

set @FullSerial = ''

End

--Select @FullSerial

mssql(sql server)小写转大写金额函数

2009-05-27 15:40

关键字金额SQL Server

出处

在网上见到一个Oracle的版本的小写转大写金额的函数,感觉还不错现在把它转成SQL Server版本。

/********************************************************

作者:(birdie_7761@https://www.wendangku.net/doc/6214624427.html,)

版本:1.0

创建时间:20020227

修改时间:

功能:小写金额转换成大写

参数:n_LowerMoney 小写金额

v_TransType 种类-- 1: directly translate, 0: read it in words

输出:大写金额

********************************************************/

CREA TE FUNCTION dbo.L2U (@n_LowerMoney numeric(15,2),@v_TransType int) RETURNS V ARCHAR(200) AS

BEGIN

Declare @v_LowerStr V ARCHAR(200) -- 小写金额

Declare @v_UpperPart V ARCHAR(200)

Declare @v_UpperStr V ARCHAR(200) -- 大写金额

Declare @i_I int

set @v_LowerStr = LTRIM(RTRIM(ROUND(@n_LowerMoney,2))) --四舍五入为指定的精度并删除数据左右空格

set @i_I = 1

set @v_UpperStr = ''

while ( @i_I <= len(@v_LowerStr))

begin

select @v_UpperPart = case substring(@v_LowerStr,len(@v_LowerStr) - @i_I + 1,1)

WHEN '.' THEN '元'

WHEN '0' THEN '零'

WHEN '1' THEN '壹'

WHEN '2' THEN '贰'

WHEN '3' THEN '叁'

WHEN '4' THEN '肆'

WHEN '5' THEN '伍'

WHEN '6' THEN '陆'

相关文档
相关文档 最新文档