星期日, 十一月 30, 2008
星期四, 十一月 27, 2008
无忌高人的器材论总结
1 任何相机都可以拍摄任何题材!
2 任何胶片都可以拍摄任何题材!
3 任何镜头都可以拍摄任何题材!
4 买能买得起的最好的器材!
5 摄影是用光的艺术,所以,先要用光可以花在器材上的钱!
6 镜头后面那个头固然很重要,但“工欲善其事,必先利其器”更重要!
7 金属器材永远比塑料的好,分量重的器材永远比轻的好,贵的永远比便宜的好,除非你被人宰了!
8 买器材前一定要冷静,买器材时必须要冲动,这是器材物语的理智与情感!
9 假如一件器材买回不久就后悔了,说明它不属于你,赶紧卖掉止损!
10 假如觉得一件器材该换了,无需考虑,立刻换了,因为到最后你还是会换,结果无非是徒增犹豫彷徨的时间罢了!
11 不用担心贬值,器材不是股票,买器材是使用,不是投资!
12 不用爱惜器材,器材没那么娇贵,它存在的意义是被使用,而非供奉!
13 胶片也属于器材,选择胶片的难度不亚于选择器材!
14 没有一步到位的器材,没有一步到位的系统,除非你是个没有激情的人!
15 测光表对于玩家来说,实用意义远远小于亮骚意义,所以,它很重要!
16 不必介意器材是否防水,我们不是新闻记者,不会在大雨滂沱中抓拍抢拍,防唾沫就够了,这样在你口若悬河地炫耀器材时可以更加肆无忌惮!
17 不要买副厂镜头。Carl Zeiss除外!
18 UV镜只有两个牌子,B+W和TIFFEN;UV镜只有一种镀膜,多膜!
19 UV在数码时代,其实是多余的!
20 气吹的牌子叫A+F,镜头水的牌子叫Carl Zeiss,镜头笔的牌子叫MATIN,灰卡的标准叫kodak!
21 附件是器材中相当重要的环节,摄影中最大的附件是车,最常换的附件是模特!
22 玩反转和大画幅有一个重要附件就是放大镜,Schneider是王道!
23 相机是用来拍良辰美景的,不是用来拍牙膏牙刷的!
24 摄影的路上,你总要有一支超广,如果可以,它是HOLOGON!
25 摄影的路上,你总要有一支85/1.4,如果可以,它是85/1.2!
26 摄影的路上,你总要有一支300/2.8,因为400/2.8太长,而200/2略短!
27 当你觉得自己该精简器材的时候,你已经成为了技术派!
28 当你总是觉得自己缺件器材的时候,你就快成为一个器材派!
29 当你觉得自己快要成为一个器材派时,你就已经是器材派了!
30 成为一个器材派高手不比成为一个技术派高手容易,当在同一焦段中有两支以上重复的镜头时,你刚刚踏入门槛!
31 当你连2.8的光圈都觉得小的时候,你已经是一个成熟器材分子了!(这条适用于圣贤书)
32 当你的镜头群中全部都是恒定光圈且一半以上为1.4的时候,你已经走向毒枭的行列!
33 当你拥有“F口28/1.4,F口58/1.2,M口16/8,M口50/1,YC口300/2,YC口85/1.2,EF口50/1,EF口200/2”中任何一支时,你已经无可救药了!
34 当上述镜头中你拥有超过两支时,可以办理离婚、分手、或尽快把另一半的器材热情培养起来!
35 当上述镜头你都拥有时,兄弟,咱们拜把子!
36 器材派没什么不好,可悲的是成了器材派还在器材上说不出个所以然!
37 旁轴的巅峰是ALPA,大幅的终点是Linhof,广角的至尊是HOLOGON,长焦的霸主是SONNER,日本相机都是上不了大席的狗肉!
38 Leica不是品味的象征,是营销的完胜,Leica只有一支镜头,就是那支有着两片萤石的八枚玉!
39 玩镜头就要玩结构,所以要玩Carl Zeiss!
40 于是Leica烧钱,Carl Zeiss要命!
41 Leica的快门再轻,也比不上镜间快门的120旁轴,加上底片的优势,一台BRONICA 645都能将MP打翻在地,所以,以为Leica是终点的人其实是器材的井底之蛙!
42 ALPA加Carl Zeiss镜头是高端摄影玩家的标杆,遗憾的是,达到这个标杆需要浸淫太多器材!
43 好器材和名牌包一样,是需要行家来鉴赏,上来就问价钱的主儿和看到LV就问真的假的一样,跟你不在一个档次,无须搭理丫的。行家一般不问,行家都装深沉地摸摸看看后显得面不经意其实心中嫉妒不已地轻率地点点头而已!
44 一机数镜的玩法是折腾自己,最好的配置就是一机一镜:有几支镜头,就配几台机身!
45 移轴是大画幅的专利,所有135的移轴镜头都是扯淡!
46 近摄镜和皮腔永远替代不了微距镜头!
47 微距无弱旅,标头无弱旅!越贵的镜头越彪悍!
48 每家都有大三元,大三元就算光圈做到1.4,也永远都是二流镜头,在同一时代中,变焦绝无可能超越定焦!
49 用定焦侮辱变焦,用旁轴奚落单反,用大幅藐视旁轴,玩摄影总会在看不起别人和被人看不起的波段中周而复始,所以,玩器材要低调!
50 玩灯是一个新的开始,SB800只有一支的人不叫玩灯,SB800的基配是两支,标配是四支,豪配是九支,正面两支侧面两支背后四支,还有一支备用,此外还得有SU800!
51 倍感打击的是,玩SB800其实不能算玩灯……灯的牌子叫Broncolor!
52 开始玩灯后需要一个助理,否则那些笨重的家伙会让你苦不堪言,或者你可以像我一样,玩单灯,当停车地点距离拍摄地点300米以内时,一套600W的套装勉强可以拿得动!
53 数码后期是无聊的,是对摄影本身的阉割,是对器材装备的侮辱,但不得不去做。数码后期器材中最重要的是显示器,最不重要的是显卡!
54 高档数码是奢侈,低档数码是垃圾,中档数码是奢侈的垃圾!
55 便宜买死人!
56 假如没有一支大炮,你就不知道自己的身体好不好!
57 永远记住,机器总是比你聪明得多的;也要永远记住,机器有时候是很笨的--那都是因为你笨,没有正确的去使用它!
58 景深是器材派最重要的技术指标之一,所以要掌握景深计算公式,下载一个软件放在手机里,因此,手机最好是Windows Mobile系统的!
59 记住无忌的名言:一分钱,一分货;二角钱,二分货;三元钱,三分货!
60 下一支镜头是最好的!
61 下一个附件是最需要的!
62 下一台机身是最不可或缺的!
63 买你买得起的最贵的相机;同理,买你扛得动的最重的脚架!
64 三角架,买到第三个才知道前两个的钱完全是应该省下的!
65 球台的路程略略短暂一些,悟性高的话,第二个就可以到位了!
66 稳定系统中最讲究的是快装板,顺利的话,一个器材派会有五片以上!
67 稳定系统中假如没有快门线,上述的一切都将沦为扯淡!
68 器材中,永远令人头疼的是包,永远无法立竿见影的是UV镜,永远令人欣喜的是接目镜放大器!
69 在目镜上花的每一分钱都能获得立竿见影的效果,其中性价比最高的就是橡胶目镜杯环!
70 想要比别人的视角低,就要趴下;想要比别人视角高,就要举起;想要比别人斜,就要狂侧--否则,你就需要直角取景器!
71 对于135相机来说,腰平取景器是非常重要的附件!
72 对于120相机来说,眼平取景器是非常重要的附件!
器材附件的疗效在于帮助你榨干器材的潜能,副作用是榨干你的口袋!
74 买一台四万的机身,还在意四千的附件吗?买一支六万的镜头,还在意六千的附件吗?买了三千的附件,能不配三万的器材吗?
75 对器材的态度将构建摄影的人格!
76 烧海无边,回头无岸!
77 成为一个器材派之后,唯一要做的事情,就是尽可能别丢器材的人!
出去已经不详,没有考证。有知道出处的告诉一声。
2 任何胶片都可以拍摄任何题材!
3 任何镜头都可以拍摄任何题材!
4 买能买得起的最好的器材!
5 摄影是用光的艺术,所以,先要用光可以花在器材上的钱!
6 镜头后面那个头固然很重要,但“工欲善其事,必先利其器”更重要!
7 金属器材永远比塑料的好,分量重的器材永远比轻的好,贵的永远比便宜的好,除非你被人宰了!
8 买器材前一定要冷静,买器材时必须要冲动,这是器材物语的理智与情感!
9 假如一件器材买回不久就后悔了,说明它不属于你,赶紧卖掉止损!
10 假如觉得一件器材该换了,无需考虑,立刻换了,因为到最后你还是会换,结果无非是徒增犹豫彷徨的时间罢了!
11 不用担心贬值,器材不是股票,买器材是使用,不是投资!
12 不用爱惜器材,器材没那么娇贵,它存在的意义是被使用,而非供奉!
13 胶片也属于器材,选择胶片的难度不亚于选择器材!
14 没有一步到位的器材,没有一步到位的系统,除非你是个没有激情的人!
15 测光表对于玩家来说,实用意义远远小于亮骚意义,所以,它很重要!
16 不必介意器材是否防水,我们不是新闻记者,不会在大雨滂沱中抓拍抢拍,防唾沫就够了,这样在你口若悬河地炫耀器材时可以更加肆无忌惮!
17 不要买副厂镜头。Carl Zeiss除外!
18 UV镜只有两个牌子,B+W和TIFFEN;UV镜只有一种镀膜,多膜!
19 UV在数码时代,其实是多余的!
20 气吹的牌子叫A+F,镜头水的牌子叫Carl Zeiss,镜头笔的牌子叫MATIN,灰卡的标准叫kodak!
21 附件是器材中相当重要的环节,摄影中最大的附件是车,最常换的附件是模特!
22 玩反转和大画幅有一个重要附件就是放大镜,Schneider是王道!
23 相机是用来拍良辰美景的,不是用来拍牙膏牙刷的!
24 摄影的路上,你总要有一支超广,如果可以,它是HOLOGON!
25 摄影的路上,你总要有一支85/1.4,如果可以,它是85/1.2!
26 摄影的路上,你总要有一支300/2.8,因为400/2.8太长,而200/2略短!
27 当你觉得自己该精简器材的时候,你已经成为了技术派!
28 当你总是觉得自己缺件器材的时候,你就快成为一个器材派!
29 当你觉得自己快要成为一个器材派时,你就已经是器材派了!
30 成为一个器材派高手不比成为一个技术派高手容易,当在同一焦段中有两支以上重复的镜头时,你刚刚踏入门槛!
31 当你连2.8的光圈都觉得小的时候,你已经是一个成熟器材分子了!(这条适用于圣贤书)
32 当你的镜头群中全部都是恒定光圈且一半以上为1.4的时候,你已经走向毒枭的行列!
33 当你拥有“F口28/1.4,F口58/1.2,M口16/8,M口50/1,YC口300/2,YC口85/1.2,EF口50/1,EF口200/2”中任何一支时,你已经无可救药了!
34 当上述镜头中你拥有超过两支时,可以办理离婚、分手、或尽快把另一半的器材热情培养起来!
35 当上述镜头你都拥有时,兄弟,咱们拜把子!
36 器材派没什么不好,可悲的是成了器材派还在器材上说不出个所以然!
37 旁轴的巅峰是ALPA,大幅的终点是Linhof,广角的至尊是HOLOGON,长焦的霸主是SONNER,日本相机都是上不了大席的狗肉!
38 Leica不是品味的象征,是营销的完胜,Leica只有一支镜头,就是那支有着两片萤石的八枚玉!
39 玩镜头就要玩结构,所以要玩Carl Zeiss!
40 于是Leica烧钱,Carl Zeiss要命!
41 Leica的快门再轻,也比不上镜间快门的120旁轴,加上底片的优势,一台BRONICA 645都能将MP打翻在地,所以,以为Leica是终点的人其实是器材的井底之蛙!
42 ALPA加Carl Zeiss镜头是高端摄影玩家的标杆,遗憾的是,达到这个标杆需要浸淫太多器材!
43 好器材和名牌包一样,是需要行家来鉴赏,上来就问价钱的主儿和看到LV就问真的假的一样,跟你不在一个档次,无须搭理丫的。行家一般不问,行家都装深沉地摸摸看看后显得面不经意其实心中嫉妒不已地轻率地点点头而已!
44 一机数镜的玩法是折腾自己,最好的配置就是一机一镜:有几支镜头,就配几台机身!
45 移轴是大画幅的专利,所有135的移轴镜头都是扯淡!
46 近摄镜和皮腔永远替代不了微距镜头!
47 微距无弱旅,标头无弱旅!越贵的镜头越彪悍!
48 每家都有大三元,大三元就算光圈做到1.4,也永远都是二流镜头,在同一时代中,变焦绝无可能超越定焦!
49 用定焦侮辱变焦,用旁轴奚落单反,用大幅藐视旁轴,玩摄影总会在看不起别人和被人看不起的波段中周而复始,所以,玩器材要低调!
50 玩灯是一个新的开始,SB800只有一支的人不叫玩灯,SB800的基配是两支,标配是四支,豪配是九支,正面两支侧面两支背后四支,还有一支备用,此外还得有SU800!
51 倍感打击的是,玩SB800其实不能算玩灯……灯的牌子叫Broncolor!
52 开始玩灯后需要一个助理,否则那些笨重的家伙会让你苦不堪言,或者你可以像我一样,玩单灯,当停车地点距离拍摄地点300米以内时,一套600W的套装勉强可以拿得动!
53 数码后期是无聊的,是对摄影本身的阉割,是对器材装备的侮辱,但不得不去做。数码后期器材中最重要的是显示器,最不重要的是显卡!
54 高档数码是奢侈,低档数码是垃圾,中档数码是奢侈的垃圾!
55 便宜买死人!
56 假如没有一支大炮,你就不知道自己的身体好不好!
57 永远记住,机器总是比你聪明得多的;也要永远记住,机器有时候是很笨的--那都是因为你笨,没有正确的去使用它!
58 景深是器材派最重要的技术指标之一,所以要掌握景深计算公式,下载一个软件放在手机里,因此,手机最好是Windows Mobile系统的!
59 记住无忌的名言:一分钱,一分货;二角钱,二分货;三元钱,三分货!
60 下一支镜头是最好的!
61 下一个附件是最需要的!
62 下一台机身是最不可或缺的!
63 买你买得起的最贵的相机;同理,买你扛得动的最重的脚架!
64 三角架,买到第三个才知道前两个的钱完全是应该省下的!
65 球台的路程略略短暂一些,悟性高的话,第二个就可以到位了!
66 稳定系统中最讲究的是快装板,顺利的话,一个器材派会有五片以上!
67 稳定系统中假如没有快门线,上述的一切都将沦为扯淡!
68 器材中,永远令人头疼的是包,永远无法立竿见影的是UV镜,永远令人欣喜的是接目镜放大器!
69 在目镜上花的每一分钱都能获得立竿见影的效果,其中性价比最高的就是橡胶目镜杯环!
70 想要比别人的视角低,就要趴下;想要比别人视角高,就要举起;想要比别人斜,就要狂侧--否则,你就需要直角取景器!
71 对于135相机来说,腰平取景器是非常重要的附件!
72 对于120相机来说,眼平取景器是非常重要的附件!
器材附件的疗效在于帮助你榨干器材的潜能,副作用是榨干你的口袋!
74 买一台四万的机身,还在意四千的附件吗?买一支六万的镜头,还在意六千的附件吗?买了三千的附件,能不配三万的器材吗?
75 对器材的态度将构建摄影的人格!
76 烧海无边,回头无岸!
77 成为一个器材派之后,唯一要做的事情,就是尽可能别丢器材的人!
出去已经不详,没有考证。有知道出处的告诉一声。
标签: 摄影
星期日, 十一月 23, 2008
Returnil
We take this seriously. Our core values demand that we contribute to the fight against Malware and System Recovery, which is why we are offering Returnil Virtual System 2008 Personal Edition FREE for personal home use without any limitations in the software! We see no compelling reason why computer security needs to be complex in order to be effective.
http://www.returnilvirtualsystem.com/rvspersonal.htm
http://www.returnilvirtualsystem.com/rvspersonal.htm
星期五, 十一月 21, 2008
冲洗备忘
根据前辈经验总结的,大家看看有什么问题
C-41冲洗流程
冲洗步骤 具体操作
1 设置温度 预设定PID控制器温度控制点为39℃
2 药液升温 所有药液存储瓶置入水槽中
3 温度控制 温度升至39℃后观察锁定±0.4℃
4 测量药温 测量药瓶内的药液温度是38.4℃
5 显影罐预热 胶片装入显影罐后置入水槽中预热
6 测量显影罐内温度 大约30分钟后显影罐内温度从室温升高到33.1℃
7 显影液注入 显影液注入显影罐中,热交换平衡后温度最低点是37.6℃
8 彩显 3"10 温度范围37.8℃±0.15
9 显影液倒出 耗时5秒
10 水洗 30秒 温度范围24℃±41
11 漂白 6"30 温度范围38℃±3
12 水洗 2"00 温度范围24℃±41 3次换水
13 定影 4"15 温度范围38℃±3
14 定影液倒出 耗时5秒
15 水洗 4"00 温度范围24℃±41 至少4次换水
16 稳定 1"05 温度范围24℃±41
17 干燥 时间根据需要
补偿步骤 具体操作
1 显影液 400ml工作液存储,每次冲洗后倒回存储瓶,冲洗3卷后丢弃,每卷显影补偿5秒
2 漂白液 300ml工作液存储,每次冲洗后补偿新液66ml后倒满存储瓶
3 定影液 即用即弃
4 稳定液 即用即弃
药液配置
彩显浓缩液A:800ml
彩显浓缩液B:213ml
彩显浓缩液C:112ml
漂白液III NR 不再生补充液:2.5升
定影浓缩液:1.95升*2(共两瓶)
稳定浓缩液:90ml*2(共两瓶)
① 彩显液 由于彩显液采用400ml冲洗3卷的方式(每卷增加5秒显影时间),因此直接配置工作液
a) 工作液:1220.8ml水(13-30℃)+122.08ml彩显浓缩液A+32.5ml彩显浓缩液B+17.1ml浓缩液C+133.5ml水+60ml彩显开始液+414ml水=2L工作液
② 漂白液 由于漂白液为直接补充液,因此直接配置工作液,并采用每次使用每次补充的方式
a) 工作液:60ml水(21-38℃)+15ml漂白开始液+225ml漂白补充液=300ml工作液
③ 定影液 采用每次使用每次配置的方式
a) 工作液:180.6ml水(21-38℃)+50.3ml定影浓缩液+27.1ml水+42ml水=300ml工作液
④ 稳定液 采用每次使用每次配置的方式
a) 工作液:240ml水(21-38℃)+2.7ml稳定浓缩液+50.3ml水=300ml工作液
搅拌过程
1、彩显首30秒搅拌,后每30秒转10秒
2、第一次水洗,不停搅拌
3、漂白首分钟搅拌,后每分钟搅拌10秒
4、第二次水洗,不停搅拌
5、定影首分钟搅拌,后每分钟搅拌10秒"
你使用的是C-41B冲洗工艺还是C-41工艺呢?
C-41B工艺定影时间才为4'20"
我认为你的冲洗工艺值得商榷:
8 彩显 3"10 温度范围37.8℃±0.15
9 显影液倒出 耗时5秒
10 水洗 30秒 温度范围24℃±41 【冲洗温度38℃±3为好】
11 漂白 6"30 温度范围38℃±3 【漂白时间为4'20"才是C-41B工艺】
12 水洗 2"00 温度范围24℃±41 3次换水
13 定影 4"15 温度范围38℃±3 【C-41B工艺定影时间为4'20",你若采用C-41工艺应6'30"】
14 定影液倒出 耗时5秒
15 水洗 4"00 温度范围24℃±41 至少4次换水 【C-41B工艺用不了这样久的水洗时间,且温度也应在35℃±3】
16 稳定 1"05 温度范围24℃±41 【C-41B稳定40"温度38℃±3】
17 干燥 时间根据需要
还有,你每次冲洗后补偿漂白液66ml会不会太多了,再计算下复用次数?你是采取的配置一次复用多少次配置新液
http://forum.xitek.com/showthread.php?threadid=573024&pagenumber=14
C-41冲洗流程
冲洗步骤 具体操作
1 设置温度 预设定PID控制器温度控制点为39℃
2 药液升温 所有药液存储瓶置入水槽中
3 温度控制 温度升至39℃后观察锁定±0.4℃
4 测量药温 测量药瓶内的药液温度是38.4℃
5 显影罐预热 胶片装入显影罐后置入水槽中预热
6 测量显影罐内温度 大约30分钟后显影罐内温度从室温升高到33.1℃
7 显影液注入 显影液注入显影罐中,热交换平衡后温度最低点是37.6℃
8 彩显 3"10 温度范围37.8℃±0.15
9 显影液倒出 耗时5秒
10 水洗 30秒 温度范围24℃±41
11 漂白 6"30 温度范围38℃±3
12 水洗 2"00 温度范围24℃±41 3次换水
13 定影 4"15 温度范围38℃±3
14 定影液倒出 耗时5秒
15 水洗 4"00 温度范围24℃±41 至少4次换水
16 稳定 1"05 温度范围24℃±41
17 干燥 时间根据需要
补偿步骤 具体操作
1 显影液 400ml工作液存储,每次冲洗后倒回存储瓶,冲洗3卷后丢弃,每卷显影补偿5秒
2 漂白液 300ml工作液存储,每次冲洗后补偿新液66ml后倒满存储瓶
3 定影液 即用即弃
4 稳定液 即用即弃
药液配置
彩显浓缩液A:800ml
彩显浓缩液B:213ml
彩显浓缩液C:112ml
漂白液III NR 不再生补充液:2.5升
定影浓缩液:1.95升*2(共两瓶)
稳定浓缩液:90ml*2(共两瓶)
① 彩显液 由于彩显液采用400ml冲洗3卷的方式(每卷增加5秒显影时间),因此直接配置工作液
a) 工作液:1220.8ml水(13-30℃)+122.08ml彩显浓缩液A+32.5ml彩显浓缩液B+17.1ml浓缩液C+133.5ml水+60ml彩显开始液+414ml水=2L工作液
② 漂白液 由于漂白液为直接补充液,因此直接配置工作液,并采用每次使用每次补充的方式
a) 工作液:60ml水(21-38℃)+15ml漂白开始液+225ml漂白补充液=300ml工作液
③ 定影液 采用每次使用每次配置的方式
a) 工作液:180.6ml水(21-38℃)+50.3ml定影浓缩液+27.1ml水+42ml水=300ml工作液
④ 稳定液 采用每次使用每次配置的方式
a) 工作液:240ml水(21-38℃)+2.7ml稳定浓缩液+50.3ml水=300ml工作液
搅拌过程
1、彩显首30秒搅拌,后每30秒转10秒
2、第一次水洗,不停搅拌
3、漂白首分钟搅拌,后每分钟搅拌10秒
4、第二次水洗,不停搅拌
5、定影首分钟搅拌,后每分钟搅拌10秒"
你使用的是C-41B冲洗工艺还是C-41工艺呢?
C-41B工艺定影时间才为4'20"
我认为你的冲洗工艺值得商榷:
8 彩显 3"10 温度范围37.8℃±0.15
9 显影液倒出 耗时5秒
10 水洗 30秒 温度范围24℃±41 【冲洗温度38℃±3为好】
11 漂白 6"30 温度范围38℃±3 【漂白时间为4'20"才是C-41B工艺】
12 水洗 2"00 温度范围24℃±41 3次换水
13 定影 4"15 温度范围38℃±3 【C-41B工艺定影时间为4'20",你若采用C-41工艺应6'30"】
14 定影液倒出 耗时5秒
15 水洗 4"00 温度范围24℃±41 至少4次换水 【C-41B工艺用不了这样久的水洗时间,且温度也应在35℃±3】
16 稳定 1"05 温度范围24℃±41 【C-41B稳定40"温度38℃±3】
17 干燥 时间根据需要
还有,你每次冲洗后补偿漂白液66ml会不会太多了,再计算下复用次数?你是采取的配置一次复用多少次配置新液
http://forum.xitek.com/showthread.php?threadid=573024&pagenumber=14
标签: 摄影
星期二, 十一月 18, 2008
星期日, 十一月 16, 2008
星期四, 十一月 13, 2008
星期三, 十一月 12, 2008
星期二, 十一月 11, 2008
SQL Server中使用正則表達式
这两天有个需求,需要在数据库中判断字符串的格式,于是从网上搜集了一些资料,整理了一下。
下面这个是一个自定义函数,用户可以调用这个函数判断指定的字符串是否符合正则表达式的规则.
CREATE FUNCTION dbo.find_regular_expression
(
@source varchar(5000), --需要匹配的源字符串
@regexp varchar(1000), --正则表达式
@ignorecase bit = 0 --是否区分大小写,默认为false
)
RETURNS bit --返回结果0-false,1-true
AS
BEGIN
--0(成功)或非零数字(失败),是由 OLE 自动化对象返回的 HRESULT 的整数值。
DECLARE @hr integer
--用于保存返回的对象令牌,以便之后对该对象进行操作
DECLARE @objRegExp integer DECLARE @objMatches integer
--保存结果
DECLARE @results bit
/*
创建 OLE 对象实例,只有 sysadmin 固定服务器角色的成员才能执行 sp_OACreate,并确定机器中有VBScript.RegExp类库
*/
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
/*
以下三个分别是设置新建对象的三个属性。下面是'VBScript.RegExp'中常用的属性举例:
Dim regEx,Match,Matches '建立变量。
Set regEx = New RegExp '建立一般表达式。
regEx.Pattern= patrn '设置模式。
regEx.IgnoreCase = True '设置是否区分大小写。
regEx.Global=True '设置全局可用性。
set Matches=regEx.Execute(string) '重复匹配集合
RegExpTest = regEx.Execute(strng) '执行搜索。
for each match in matches '重复匹配集合
RetStr=RetStr &"Match found at position "
RetStr=RetStr&Match.FirstIndex&".Match Value is '"
RetStr=RetStr&Match.Value&"'."&vbCRLF Next
RegExpTest=RetStr
*/
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--调用对象方法
EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--释放已创建的 OLE 对象
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @results
END
下面是一个简单的测试sql语句,可以直接在查询分析器中运行。
DECLARE @intLength AS INTEGER
DECLARE @vchRegularExpression AS VARCHAR(50)
DECLARE @vchSourceString as VARCHAR(50)
DECLARE @vchSourceString2 as VARCHAR(50)
DECLARE @bitHasNoSpecialCharacters as BIT
-- 初始化变量
SET @vchSourceString = 'Test one This is a test!!'
SET @vchSourceString2 = 'Test two This is a test'
-- 我们的正则表达式应该类似于
-- [a-zA-Z ]{}
-- 如: [a-zA-Z ]{10} ... 一个十字符的字符串
-- 获得字符串长度
SET @intLength = LEN(@vchSourceString)
-- 设置完整的正则表达式
SET @vchRegularExpression = '[a-zA-Z ]{' + CAST(@intLength as varchar) + '}'
-- 是否有任何特殊字符
SET @bitHasNoSpecialCharacters = dbo.find_regular_expression(@vchSourceString, @vchRegularExpression,0)
PRINT @vchSourceString
IF @bitHasNoSpecialCharacters = 1 BEGIN
PRINT 'No special characters.'
END ELSE BEGIN
PRINT 'Special characters found.'
END
PRINT '**************'
-- 获得字符串长度
SET @intLength = LEN(@vchSourceString2)
-- 设置完整的正则表达式
SET @vchRegularExpression = '[a-zA-Z ]{' + CAST(@intLength as varchar) + '}'
-- 是否有任何特殊字符
SET @bitHasNoSpecialCharacters = dbo.find_regular_expression(@vchSourceString2, @vchRegularExpression,0)
PRINT @vchSourceString2
IF @bitHasNoSpecialCharacters = 1 BEGIN
PRINT 'No special characters.'
END ELSE BEGIN
PRINT 'Special characters found.'
END
GO
http://blog.csdn.net/weir55/archive/2008/04/28/2337096.aspx
下面这个是一个自定义函数,用户可以调用这个函数判断指定的字符串是否符合正则表达式的规则.
CREATE FUNCTION dbo.find_regular_expression
(
@source varchar(5000), --需要匹配的源字符串
@regexp varchar(1000), --正则表达式
@ignorecase bit = 0 --是否区分大小写,默认为false
)
RETURNS bit --返回结果0-false,1-true
AS
BEGIN
--0(成功)或非零数字(失败),是由 OLE 自动化对象返回的 HRESULT 的整数值。
DECLARE @hr integer
--用于保存返回的对象令牌,以便之后对该对象进行操作
DECLARE @objRegExp integer DECLARE @objMatches integer
--保存结果
DECLARE @results bit
/*
创建 OLE 对象实例,只有 sysadmin 固定服务器角色的成员才能执行 sp_OACreate,并确定机器中有VBScript.RegExp类库
*/
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
/*
以下三个分别是设置新建对象的三个属性。下面是'VBScript.RegExp'中常用的属性举例:
Dim regEx,Match,Matches '建立变量。
Set regEx = New RegExp '建立一般表达式。
regEx.Pattern= patrn '设置模式。
regEx.IgnoreCase = True '设置是否区分大小写。
regEx.Global=True '设置全局可用性。
set Matches=regEx.Execute(string) '重复匹配集合
RegExpTest = regEx.Execute(strng) '执行搜索。
for each match in matches '重复匹配集合
RetStr=RetStr &"Match found at position "
RetStr=RetStr&Match.FirstIndex&".Match Value is '"
RetStr=RetStr&Match.Value&"'."&vbCRLF Next
RegExpTest=RetStr
*/
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--调用对象方法
EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--释放已创建的 OLE 对象
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @results
END
下面是一个简单的测试sql语句,可以直接在查询分析器中运行。
DECLARE @intLength AS INTEGER
DECLARE @vchRegularExpression AS VARCHAR(50)
DECLARE @vchSourceString as VARCHAR(50)
DECLARE @vchSourceString2 as VARCHAR(50)
DECLARE @bitHasNoSpecialCharacters as BIT
-- 初始化变量
SET @vchSourceString = 'Test one This is a test!!'
SET @vchSourceString2 = 'Test two This is a test'
-- 我们的正则表达式应该类似于
-- [a-zA-Z ]{}
-- 如: [a-zA-Z ]{10} ... 一个十字符的字符串
-- 获得字符串长度
SET @intLength = LEN(@vchSourceString)
-- 设置完整的正则表达式
SET @vchRegularExpression = '[a-zA-Z ]{' + CAST(@intLength as varchar) + '}'
-- 是否有任何特殊字符
SET @bitHasNoSpecialCharacters = dbo.find_regular_expression(@vchSourceString, @vchRegularExpression,0)
PRINT @vchSourceString
IF @bitHasNoSpecialCharacters = 1 BEGIN
PRINT 'No special characters.'
END ELSE BEGIN
PRINT 'Special characters found.'
END
PRINT '**************'
-- 获得字符串长度
SET @intLength = LEN(@vchSourceString2)
-- 设置完整的正则表达式
SET @vchRegularExpression = '[a-zA-Z ]{' + CAST(@intLength as varchar) + '}'
-- 是否有任何特殊字符
SET @bitHasNoSpecialCharacters = dbo.find_regular_expression(@vchSourceString2, @vchRegularExpression,0)
PRINT @vchSourceString2
IF @bitHasNoSpecialCharacters = 1 BEGIN
PRINT 'No special characters.'
END ELSE BEGIN
PRINT 'Special characters found.'
END
GO
http://blog.csdn.net/weir55/archive/2008/04/28/2337096.aspx
标签: RegExp, SQL, SQL Server
Delphi与字符编码(实战篇)
本文目标:
* 了解Delphi的字符串类型
* 字符编码的检测与转换
* 简体繁体转换
0. 导言
看完“.Net与字符编码(理论篇)”,我们明白了字符是自然语言中的最小单位,在存储和传输的过程中可以使用三种编码方法:ASCII、DBCS以及Unicode。常见的DBCS编码有GB2312、GBK和BIG5,而UTF-8、UTF-16和UTF-32则是最常用的Unicode编码类型。
http://www.cnblogs.com/baoquan/archive/2008/01/05/1027371.html
* 了解Delphi的字符串类型
* 字符编码的检测与转换
* 简体繁体转换
0. 导言
看完“.Net与字符编码(理论篇)”,我们明白了字符是自然语言中的最小单位,在存储和传输的过程中可以使用三种编码方法:ASCII、DBCS以及Unicode。常见的DBCS编码有GB2312、GBK和BIG5,而UTF-8、UTF-16和UTF-32则是最常用的Unicode编码类型。
http://www.cnblogs.com/baoquan/archive/2008/01/05/1027371.html



