SqlQuantumLeap

Unicode 3.2, Part 3: Derived Props (ID Strt &Cnt)

Mar 27th, 2018
352
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 35.51 KB | None | 0 0
  1. /*
  2.  --------- Unicode 3.2, Part 3: Derived Props (IDStrt & IDCntnue) ---------
  3.  
  4. Created By: Solomon Rutzky
  5. Created On: 2018-03-28
  6. Updated On: n/a
  7.  
  8. Location:          https://pastebin.com/edit/gfgWE1fx
  9. Related blog post: https://SqlQuantumLeap.com/2018/04/05/the-uni-code-the-search-for-the-true-list-of-valid-characters-for-t-sql-regular-identifiers-part-2/
  10.  
  11. DESCRIPTION: This script adds and populates the "IDStart" and "IDContinue" columns.
  12.              The list of code points having either the "ID_Start" or "ID_Continue"
  13.              properties is found in the text file noted below under "SOURCE DATA".
  14.  
  15.              As with the main "UnicodeCharacterDatabase" table, we are only concerned
  16.              with just the BMP code points (i.e. the U+0000 through U+FFFF range).
  17.  
  18. REQUIREMENTS:
  19.     1) SQL Server 2005 or newer
  20.     2) Unicode 3.2, Part 1: Unicode Character Database (UCD)
  21.        found at: https://pastebin.com/Vj1HFg1v
  22.  
  23. SOURCE DATA: https://www.unicode.org/Public/3.2-Update/DerivedCoreProperties-3.2.0.txt
  24.  
  25. Copyright © 1991-2018 Unicode, Inc. All rights reserved.
  26. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
  27.  
  28. Permission is hereby granted, free of charge, to any person obtaining
  29. a copy of the Unicode data files and any associated documentation
  30. (the "Data Files") or Unicode software and any associated documentation
  31. (the "Software") to deal in the Data Files or Software
  32. without restriction, including without limitation the rights to use,
  33. copy, modify, merge, publish, distribute, and/or sell copies of
  34. the Data Files or Software, and to permit persons to whom the Data Files
  35. or Software are furnished to do so, provided that either
  36. (a) this copyright and permission notice appear with all copies
  37. of the Data Files or Software, or
  38. (b) this copyright and permission notice appear in associated
  39. Documentation.
  40.  
  41. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
  42. ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  43. WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  44. NONINFRINGEMENT OF THIRD PARTY RIGHTS.
  45. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
  46. NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
  47. DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  48. DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  49. TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  50. PERFORMANCE OF THE DATA FILES OR SOFTWARE.
  51.  
  52. Except as contained in this notice, the name of a copyright holder
  53. shall not be used in advertising or otherwise to promote the sale,
  54. use or other dealings in these Data Files or Software without prior
  55. written authorization of the copyright holder.
  56. */
  57.  
  58.  
  59. USE [UnicodeTesting];
  60.  
  61. SET NOCOUNT ON;
  62.  
  63.  
  64.  
  65.  
  66. IF (OBJECT_ID(N'[v3-2].UnicodeCharacterDatabase') IS NULL)
  67. BEGIN
  68.     RAISERROR('
  69.     Missing the main "UnicodeCharacterDatabase" table.
  70.     Please load that first. You can get it from:
  71.     https://pastebin.com/Vj1HFg1v', 16, 1);
  72.     RETURN;
  73. END;
  74.  
  75. BEGIN TRAN;
  76.  
  77.  
  78. BEGIN TRY
  79.  
  80.     -----------------------------------------------------------------------
  81.     -- Add and populate: "IDStart"
  82.     -----------------------------------
  83.  
  84. IF (NOT EXISTS(
  85.         SELECT *
  86.         FROM   sys.columns sc
  87.         WHERE  sc.[object_id] = OBJECT_ID(N'[v3-2].UnicodeCharacterDatabase')
  88.         AND    sc.[name] = N'IDStart'))
  89. BEGIN
  90.     ALTER TABLE [v3-2].UnicodeCharacterDatabase
  91.         ADD [IDStart] BIT NULL;
  92. END;
  93.  
  94.  
  95. EXEC (N'
  96. UPDATE ucd
  97. SET    ucd.[IDStart] = 1
  98. -- SELECT *
  99. FROM   [v3-2].UnicodeCharacterDatabase ucd
  100. WHERE  1 = 0
  101. OR ucd.[CodePoint] BETWEEN 0x0041 AND 0x005A
  102. OR ucd.[CodePoint] BETWEEN 0x0061 AND 0x007A
  103. OR ucd.[CodePoint] = 0x00AA
  104. OR ucd.[CodePoint] = 0x00B5
  105. OR ucd.[CodePoint] = 0x00BA
  106. OR ucd.[CodePoint] BETWEEN 0x00C0 AND 0x00D6
  107. OR ucd.[CodePoint] BETWEEN 0x00D8 AND 0x00F6
  108. OR ucd.[CodePoint] BETWEEN 0x00F8 AND 0x01BA
  109. OR ucd.[CodePoint] = 0x01BB
  110. OR ucd.[CodePoint] BETWEEN 0x01BC AND 0x01BF
  111. OR ucd.[CodePoint] BETWEEN 0x01C0 AND 0x01C3
  112. OR ucd.[CodePoint] BETWEEN 0x01C4 AND 0x0220
  113. OR ucd.[CodePoint] BETWEEN 0x0222 AND 0x0233
  114. OR ucd.[CodePoint] BETWEEN 0x0250 AND 0x02AD
  115. OR ucd.[CodePoint] BETWEEN 0x02B0 AND 0x02B8
  116. OR ucd.[CodePoint] BETWEEN 0x02BB AND 0x02C1
  117. OR ucd.[CodePoint] BETWEEN 0x02D0 AND 0x02D1
  118. OR ucd.[CodePoint] BETWEEN 0x02E0 AND 0x02E4
  119. OR ucd.[CodePoint] = 0x02EE
  120. OR ucd.[CodePoint] = 0x037A
  121. OR ucd.[CodePoint] = 0x0386
  122. OR ucd.[CodePoint] BETWEEN 0x0388 AND 0x038A
  123. OR ucd.[CodePoint] = 0x038C
  124. OR ucd.[CodePoint] BETWEEN 0x038E AND 0x03A1
  125. OR ucd.[CodePoint] BETWEEN 0x03A3 AND 0x03CE
  126. OR ucd.[CodePoint] BETWEEN 0x03D0 AND 0x03F5
  127. OR ucd.[CodePoint] BETWEEN 0x0400 AND 0x0481
  128. OR ucd.[CodePoint] BETWEEN 0x048A AND 0x04CE
  129. OR ucd.[CodePoint] BETWEEN 0x04D0 AND 0x04F5
  130. OR ucd.[CodePoint] BETWEEN 0x04F8 AND 0x04F9
  131. OR ucd.[CodePoint] BETWEEN 0x0500 AND 0x050F
  132. OR ucd.[CodePoint] BETWEEN 0x0531 AND 0x0556
  133. OR ucd.[CodePoint] = 0x0559
  134. OR ucd.[CodePoint] BETWEEN 0x0561 AND 0x0587
  135. OR ucd.[CodePoint] BETWEEN 0x05D0 AND 0x05EA
  136. OR ucd.[CodePoint] BETWEEN 0x05F0 AND 0x05F2
  137. OR ucd.[CodePoint] BETWEEN 0x0621 AND 0x063A
  138. OR ucd.[CodePoint] = 0x0640
  139. OR ucd.[CodePoint] BETWEEN 0x0641 AND 0x064A
  140. OR ucd.[CodePoint] BETWEEN 0x066E AND 0x066F
  141. OR ucd.[CodePoint] BETWEEN 0x0671 AND 0x06D3
  142. OR ucd.[CodePoint] = 0x06D5
  143. OR ucd.[CodePoint] BETWEEN 0x06E5 AND 0x06E6
  144. OR ucd.[CodePoint] BETWEEN 0x06FA AND 0x06FC
  145. OR ucd.[CodePoint] = 0x0710
  146. OR ucd.[CodePoint] BETWEEN 0x0712 AND 0x072C
  147. OR ucd.[CodePoint] BETWEEN 0x0780 AND 0x07A5
  148. OR ucd.[CodePoint] = 0x07B1
  149. OR ucd.[CodePoint] BETWEEN 0x0905 AND 0x0939
  150. OR ucd.[CodePoint] = 0x093D
  151. OR ucd.[CodePoint] = 0x0950
  152. OR ucd.[CodePoint] BETWEEN 0x0958 AND 0x0961
  153. OR ucd.[CodePoint] BETWEEN 0x0985 AND 0x098C
  154. OR ucd.[CodePoint] BETWEEN 0x098F AND 0x0990
  155. OR ucd.[CodePoint] BETWEEN 0x0993 AND 0x09A8
  156. OR ucd.[CodePoint] BETWEEN 0x09AA AND 0x09B0
  157. OR ucd.[CodePoint] = 0x09B2
  158. OR ucd.[CodePoint] BETWEEN 0x09B6 AND 0x09B9
  159. OR ucd.[CodePoint] BETWEEN 0x09DC AND 0x09DD
  160. OR ucd.[CodePoint] BETWEEN 0x09DF AND 0x09E1
  161. OR ucd.[CodePoint] BETWEEN 0x09F0 AND 0x09F1
  162. OR ucd.[CodePoint] BETWEEN 0x0A05 AND 0x0A0A
  163. OR ucd.[CodePoint] BETWEEN 0x0A0F AND 0x0A10
  164. OR ucd.[CodePoint] BETWEEN 0x0A13 AND 0x0A28
  165. OR ucd.[CodePoint] BETWEEN 0x0A2A AND 0x0A30
  166. OR ucd.[CodePoint] BETWEEN 0x0A32 AND 0x0A33
  167. OR ucd.[CodePoint] BETWEEN 0x0A35 AND 0x0A36
  168. OR ucd.[CodePoint] BETWEEN 0x0A38 AND 0x0A39
  169. OR ucd.[CodePoint] BETWEEN 0x0A59 AND 0x0A5C
  170. OR ucd.[CodePoint] = 0x0A5E
  171. OR ucd.[CodePoint] BETWEEN 0x0A72 AND 0x0A74
  172. OR ucd.[CodePoint] BETWEEN 0x0A85 AND 0x0A8B
  173. OR ucd.[CodePoint] = 0x0A8D
  174. OR ucd.[CodePoint] BETWEEN 0x0A8F AND 0x0A91
  175. OR ucd.[CodePoint] BETWEEN 0x0A93 AND 0x0AA8
  176. OR ucd.[CodePoint] BETWEEN 0x0AAA AND 0x0AB0
  177. OR ucd.[CodePoint] BETWEEN 0x0AB2 AND 0x0AB3
  178. OR ucd.[CodePoint] BETWEEN 0x0AB5 AND 0x0AB9
  179. OR ucd.[CodePoint] = 0x0ABD
  180. OR ucd.[CodePoint] = 0x0AD0
  181. OR ucd.[CodePoint] = 0x0AE0
  182. OR ucd.[CodePoint] BETWEEN 0x0B05 AND 0x0B0C
  183. OR ucd.[CodePoint] BETWEEN 0x0B0F AND 0x0B10
  184. OR ucd.[CodePoint] BETWEEN 0x0B13 AND 0x0B28
  185. OR ucd.[CodePoint] BETWEEN 0x0B2A AND 0x0B30
  186. OR ucd.[CodePoint] BETWEEN 0x0B32 AND 0x0B33
  187. OR ucd.[CodePoint] BETWEEN 0x0B36 AND 0x0B39
  188. OR ucd.[CodePoint] = 0x0B3D
  189. OR ucd.[CodePoint] BETWEEN 0x0B5C AND 0x0B5D
  190. OR ucd.[CodePoint] BETWEEN 0x0B5F AND 0x0B61
  191. OR ucd.[CodePoint] = 0x0B83
  192. OR ucd.[CodePoint] BETWEEN 0x0B85 AND 0x0B8A
  193. OR ucd.[CodePoint] BETWEEN 0x0B8E AND 0x0B90
  194. OR ucd.[CodePoint] BETWEEN 0x0B92 AND 0x0B95
  195. OR ucd.[CodePoint] BETWEEN 0x0B99 AND 0x0B9A
  196. OR ucd.[CodePoint] = 0x0B9C
  197. OR ucd.[CodePoint] BETWEEN 0x0B9E AND 0x0B9F
  198. OR ucd.[CodePoint] BETWEEN 0x0BA3 AND 0x0BA4
  199. OR ucd.[CodePoint] BETWEEN 0x0BA8 AND 0x0BAA
  200. OR ucd.[CodePoint] BETWEEN 0x0BAE AND 0x0BB5
  201. OR ucd.[CodePoint] BETWEEN 0x0BB7 AND 0x0BB9
  202. OR ucd.[CodePoint] BETWEEN 0x0C05 AND 0x0C0C
  203. OR ucd.[CodePoint] BETWEEN 0x0C0E AND 0x0C10
  204. OR ucd.[CodePoint] BETWEEN 0x0C12 AND 0x0C28
  205. OR ucd.[CodePoint] BETWEEN 0x0C2A AND 0x0C33
  206. OR ucd.[CodePoint] BETWEEN 0x0C35 AND 0x0C39
  207. OR ucd.[CodePoint] BETWEEN 0x0C60 AND 0x0C61
  208. OR ucd.[CodePoint] BETWEEN 0x0C85 AND 0x0C8C
  209. OR ucd.[CodePoint] BETWEEN 0x0C8E AND 0x0C90
  210. OR ucd.[CodePoint] BETWEEN 0x0C92 AND 0x0CA8
  211. OR ucd.[CodePoint] BETWEEN 0x0CAA AND 0x0CB3
  212. OR ucd.[CodePoint] BETWEEN 0x0CB5 AND 0x0CB9
  213. OR ucd.[CodePoint] = 0x0CDE
  214. OR ucd.[CodePoint] BETWEEN 0x0CE0 AND 0x0CE1
  215. OR ucd.[CodePoint] BETWEEN 0x0D05 AND 0x0D0C
  216. OR ucd.[CodePoint] BETWEEN 0x0D0E AND 0x0D10
  217. OR ucd.[CodePoint] BETWEEN 0x0D12 AND 0x0D28
  218. OR ucd.[CodePoint] BETWEEN 0x0D2A AND 0x0D39
  219. OR ucd.[CodePoint] BETWEEN 0x0D60 AND 0x0D61
  220. OR ucd.[CodePoint] BETWEEN 0x0D85 AND 0x0D96
  221. OR ucd.[CodePoint] BETWEEN 0x0D9A AND 0x0DB1
  222. OR ucd.[CodePoint] BETWEEN 0x0DB3 AND 0x0DBB
  223. OR ucd.[CodePoint] = 0x0DBD
  224. OR ucd.[CodePoint] BETWEEN 0x0DC0 AND 0x0DC6
  225. OR ucd.[CodePoint] BETWEEN 0x0E01 AND 0x0E30
  226. OR ucd.[CodePoint] BETWEEN 0x0E32 AND 0x0E33
  227. OR ucd.[CodePoint] BETWEEN 0x0E40 AND 0x0E45
  228. OR ucd.[CodePoint] = 0x0E46
  229. OR ucd.[CodePoint] BETWEEN 0x0E81 AND 0x0E82
  230. OR ucd.[CodePoint] = 0x0E84
  231. OR ucd.[CodePoint] BETWEEN 0x0E87 AND 0x0E88
  232. OR ucd.[CodePoint] = 0x0E8A
  233. OR ucd.[CodePoint] = 0x0E8D
  234. OR ucd.[CodePoint] BETWEEN 0x0E94 AND 0x0E97
  235. OR ucd.[CodePoint] BETWEEN 0x0E99 AND 0x0E9F
  236. OR ucd.[CodePoint] BETWEEN 0x0EA1 AND 0x0EA3
  237. OR ucd.[CodePoint] = 0x0EA5
  238. OR ucd.[CodePoint] = 0x0EA7
  239. OR ucd.[CodePoint] BETWEEN 0x0EAA AND 0x0EAB
  240. OR ucd.[CodePoint] BETWEEN 0x0EAD AND 0x0EB0
  241. OR ucd.[CodePoint] BETWEEN 0x0EB2 AND 0x0EB3
  242. OR ucd.[CodePoint] = 0x0EBD
  243. OR ucd.[CodePoint] BETWEEN 0x0EC0 AND 0x0EC4
  244. OR ucd.[CodePoint] = 0x0EC6
  245. OR ucd.[CodePoint] BETWEEN 0x0EDC AND 0x0EDD
  246. OR ucd.[CodePoint] = 0x0F00
  247. OR ucd.[CodePoint] BETWEEN 0x0F40 AND 0x0F47
  248. OR ucd.[CodePoint] BETWEEN 0x0F49 AND 0x0F6A
  249. OR ucd.[CodePoint] BETWEEN 0x0F88 AND 0x0F8B
  250. OR ucd.[CodePoint] BETWEEN 0x1000 AND 0x1021
  251. OR ucd.[CodePoint] BETWEEN 0x1023 AND 0x1027
  252. OR ucd.[CodePoint] BETWEEN 0x1029 AND 0x102A
  253. OR ucd.[CodePoint] BETWEEN 0x1050 AND 0x1055
  254. OR ucd.[CodePoint] BETWEEN 0x10A0 AND 0x10C5
  255. OR ucd.[CodePoint] BETWEEN 0x10D0 AND 0x10F8
  256. OR ucd.[CodePoint] BETWEEN 0x1100 AND 0x1159
  257. OR ucd.[CodePoint] BETWEEN 0x115F AND 0x11A2
  258. OR ucd.[CodePoint] BETWEEN 0x11A8 AND 0x11F9
  259. OR ucd.[CodePoint] BETWEEN 0x1200 AND 0x1206
  260. OR ucd.[CodePoint] BETWEEN 0x1208 AND 0x1246
  261. OR ucd.[CodePoint] = 0x1248
  262. OR ucd.[CodePoint] BETWEEN 0x124A AND 0x124D
  263. OR ucd.[CodePoint] BETWEEN 0x1250 AND 0x1256
  264. OR ucd.[CodePoint] = 0x1258
  265. OR ucd.[CodePoint] BETWEEN 0x125A AND 0x125D
  266. OR ucd.[CodePoint] BETWEEN 0x1260 AND 0x1286
  267. OR ucd.[CodePoint] = 0x1288
  268. OR ucd.[CodePoint] BETWEEN 0x128A AND 0x128D
  269. OR ucd.[CodePoint] BETWEEN 0x1290 AND 0x12AE
  270. OR ucd.[CodePoint] = 0x12B0
  271. OR ucd.[CodePoint] BETWEEN 0x12B2 AND 0x12B5
  272. OR ucd.[CodePoint] BETWEEN 0x12B8 AND 0x12BE
  273. OR ucd.[CodePoint] = 0x12C0
  274. OR ucd.[CodePoint] BETWEEN 0x12C2 AND 0x12C5
  275. OR ucd.[CodePoint] BETWEEN 0x12C8 AND 0x12CE
  276. OR ucd.[CodePoint] BETWEEN 0x12D0 AND 0x12D6
  277. OR ucd.[CodePoint] BETWEEN 0x12D8 AND 0x12EE
  278. OR ucd.[CodePoint] BETWEEN 0x12F0 AND 0x130E
  279. OR ucd.[CodePoint] = 0x1310
  280. OR ucd.[CodePoint] BETWEEN 0x1312 AND 0x1315
  281. OR ucd.[CodePoint] BETWEEN 0x1318 AND 0x131E
  282. OR ucd.[CodePoint] BETWEEN 0x1320 AND 0x1346
  283. OR ucd.[CodePoint] BETWEEN 0x1348 AND 0x135A
  284. OR ucd.[CodePoint] BETWEEN 0x13A0 AND 0x13F4
  285. OR ucd.[CodePoint] BETWEEN 0x1401 AND 0x166C
  286. OR ucd.[CodePoint] BETWEEN 0x166F AND 0x1676
  287. OR ucd.[CodePoint] BETWEEN 0x1681 AND 0x169A
  288. OR ucd.[CodePoint] BETWEEN 0x16A0 AND 0x16EA
  289. OR ucd.[CodePoint] BETWEEN 0x16EE AND 0x16F0
  290. OR ucd.[CodePoint] BETWEEN 0x1700 AND 0x170C
  291. OR ucd.[CodePoint] BETWEEN 0x170E AND 0x1711
  292. OR ucd.[CodePoint] BETWEEN 0x1720 AND 0x1731
  293. OR ucd.[CodePoint] BETWEEN 0x1740 AND 0x1751
  294. OR ucd.[CodePoint] BETWEEN 0x1760 AND 0x176C
  295. OR ucd.[CodePoint] BETWEEN 0x176E AND 0x1770
  296. OR ucd.[CodePoint] BETWEEN 0x1780 AND 0x17B3
  297. OR ucd.[CodePoint] = 0x17D7
  298. OR ucd.[CodePoint] = 0x17DC
  299. OR ucd.[CodePoint] BETWEEN 0x1820 AND 0x1842
  300. OR ucd.[CodePoint] = 0x1843
  301. OR ucd.[CodePoint] BETWEEN 0x1844 AND 0x1877
  302. OR ucd.[CodePoint] BETWEEN 0x1880 AND 0x18A8
  303. OR ucd.[CodePoint] BETWEEN 0x1E00 AND 0x1E9B
  304. OR ucd.[CodePoint] BETWEEN 0x1EA0 AND 0x1EF9
  305. OR ucd.[CodePoint] BETWEEN 0x1F00 AND 0x1F15
  306. OR ucd.[CodePoint] BETWEEN 0x1F18 AND 0x1F1D
  307. OR ucd.[CodePoint] BETWEEN 0x1F20 AND 0x1F45
  308. OR ucd.[CodePoint] BETWEEN 0x1F48 AND 0x1F4D
  309. OR ucd.[CodePoint] BETWEEN 0x1F50 AND 0x1F57
  310. OR ucd.[CodePoint] = 0x1F59
  311. OR ucd.[CodePoint] = 0x1F5B
  312. OR ucd.[CodePoint] = 0x1F5D
  313. OR ucd.[CodePoint] BETWEEN 0x1F5F AND 0x1F7D
  314. OR ucd.[CodePoint] BETWEEN 0x1F80 AND 0x1FB4
  315. OR ucd.[CodePoint] BETWEEN 0x1FB6 AND 0x1FBC
  316. OR ucd.[CodePoint] = 0x1FBE
  317. OR ucd.[CodePoint] BETWEEN 0x1FC2 AND 0x1FC4
  318. OR ucd.[CodePoint] BETWEEN 0x1FC6 AND 0x1FCC
  319. OR ucd.[CodePoint] BETWEEN 0x1FD0 AND 0x1FD3
  320. OR ucd.[CodePoint] BETWEEN 0x1FD6 AND 0x1FDB
  321. OR ucd.[CodePoint] BETWEEN 0x1FE0 AND 0x1FEC
  322. OR ucd.[CodePoint] BETWEEN 0x1FF2 AND 0x1FF4
  323. OR ucd.[CodePoint] BETWEEN 0x1FF6 AND 0x1FFC
  324. OR ucd.[CodePoint] = 0x2071
  325. OR ucd.[CodePoint] = 0x207F
  326. OR ucd.[CodePoint] = 0x2102
  327. OR ucd.[CodePoint] = 0x2107
  328. OR ucd.[CodePoint] BETWEEN 0x210A AND 0x2113
  329. OR ucd.[CodePoint] = 0x2115
  330. OR ucd.[CodePoint] BETWEEN 0x2119 AND 0x211D
  331. OR ucd.[CodePoint] = 0x2124
  332. OR ucd.[CodePoint] = 0x2126
  333. OR ucd.[CodePoint] = 0x2128
  334. OR ucd.[CodePoint] BETWEEN 0x212A AND 0x212D
  335. OR ucd.[CodePoint] BETWEEN 0x212F AND 0x2131
  336. OR ucd.[CodePoint] BETWEEN 0x2133 AND 0x2134
  337. OR ucd.[CodePoint] BETWEEN 0x2135 AND 0x2138
  338. OR ucd.[CodePoint] = 0x2139
  339. OR ucd.[CodePoint] BETWEEN 0x213D AND 0x213F
  340. OR ucd.[CodePoint] BETWEEN 0x2145 AND 0x2149
  341. OR ucd.[CodePoint] BETWEEN 0x2160 AND 0x2183
  342. OR ucd.[CodePoint] = 0x3005
  343. OR ucd.[CodePoint] = 0x3006
  344. OR ucd.[CodePoint] = 0x3007
  345. OR ucd.[CodePoint] BETWEEN 0x3021 AND 0x3029
  346. OR ucd.[CodePoint] BETWEEN 0x3031 AND 0x3035
  347. OR ucd.[CodePoint] BETWEEN 0x3038 AND 0x303A
  348. OR ucd.[CodePoint] = 0x303B
  349. OR ucd.[CodePoint] = 0x303C
  350. OR ucd.[CodePoint] BETWEEN 0x3041 AND 0x3096
  351. OR ucd.[CodePoint] BETWEEN 0x309D AND 0x309E
  352. OR ucd.[CodePoint] = 0x309F
  353. OR ucd.[CodePoint] BETWEEN 0x30A1 AND 0x30FA
  354. OR ucd.[CodePoint] BETWEEN 0x30FC AND 0x30FE
  355. OR ucd.[CodePoint] = 0x30FF
  356. OR ucd.[CodePoint] BETWEEN 0x3105 AND 0x312C
  357. OR ucd.[CodePoint] BETWEEN 0x3131 AND 0x318E
  358. OR ucd.[CodePoint] BETWEEN 0x31A0 AND 0x31B7
  359. OR ucd.[CodePoint] BETWEEN 0x31F0 AND 0x31FF
  360. OR ucd.[CodePoint] BETWEEN 0x3400 AND 0x4DB5
  361. OR ucd.[CodePoint] BETWEEN 0x4E00 AND 0x9FA5
  362. OR ucd.[CodePoint] BETWEEN 0xA000 AND 0xA48C
  363. OR ucd.[CodePoint] BETWEEN 0xAC00 AND 0xD7A3
  364. OR ucd.[CodePoint] BETWEEN 0xF900 AND 0xFA2D
  365. OR ucd.[CodePoint] BETWEEN 0xFA30 AND 0xFA6A
  366. OR ucd.[CodePoint] BETWEEN 0xFB00 AND 0xFB06
  367. OR ucd.[CodePoint] BETWEEN 0xFB13 AND 0xFB17
  368. OR ucd.[CodePoint] = 0xFB1D
  369. OR ucd.[CodePoint] BETWEEN 0xFB1F AND 0xFB28
  370. OR ucd.[CodePoint] BETWEEN 0xFB2A AND 0xFB36
  371. OR ucd.[CodePoint] BETWEEN 0xFB38 AND 0xFB3C
  372. OR ucd.[CodePoint] = 0xFB3E
  373. OR ucd.[CodePoint] BETWEEN 0xFB40 AND 0xFB41
  374. OR ucd.[CodePoint] BETWEEN 0xFB43 AND 0xFB44
  375. OR ucd.[CodePoint] BETWEEN 0xFB46 AND 0xFBB1
  376. OR ucd.[CodePoint] BETWEEN 0xFBD3 AND 0xFD3D
  377. OR ucd.[CodePoint] BETWEEN 0xFD50 AND 0xFD8F
  378. OR ucd.[CodePoint] BETWEEN 0xFD92 AND 0xFDC7
  379. OR ucd.[CodePoint] BETWEEN 0xFDF0 AND 0xFDFB
  380. OR ucd.[CodePoint] BETWEEN 0xFE70 AND 0xFE74
  381. OR ucd.[CodePoint] BETWEEN 0xFE76 AND 0xFEFC
  382. OR ucd.[CodePoint] BETWEEN 0xFF21 AND 0xFF3A
  383. OR ucd.[CodePoint] BETWEEN 0xFF41 AND 0xFF5A
  384. OR ucd.[CodePoint] BETWEEN 0xFF66 AND 0xFF6F
  385. OR ucd.[CodePoint] = 0xFF70
  386. OR ucd.[CodePoint] BETWEEN 0xFF71 AND 0xFF9D
  387. OR ucd.[CodePoint] BETWEEN 0xFF9E AND 0xFF9F
  388. OR ucd.[CodePoint] BETWEEN 0xFFA0 AND 0xFFBE
  389. OR ucd.[CodePoint] BETWEEN 0xFFC2 AND 0xFFC7
  390. OR ucd.[CodePoint] BETWEEN 0xFFCA AND 0xFFCF
  391. OR ucd.[CodePoint] BETWEEN 0xFFD2 AND 0xFFD7
  392. OR ucd.[CodePoint] BETWEEN 0xFFDA AND 0xFFDC
  393. ');
  394.  
  395.     -----------------------------------------------------------------------
  396.     -- Add and populate: "IDContinue"
  397.     -----------------------------------
  398.  
  399. IF (NOT EXISTS(
  400.         SELECT *
  401.         FROM   sys.columns sc
  402.         WHERE  sc.[object_id] = OBJECT_ID(N'[v3-2].UnicodeCharacterDatabase')
  403.         AND    sc.[name] = N'IDContinue'))
  404. BEGIN
  405.     ALTER TABLE [v3-2].UnicodeCharacterDatabase
  406.         ADD [IDContinue] BIT NULL;
  407. END;
  408.  
  409. EXEC (N'
  410. UPDATE ucd
  411. SET    ucd.[IDContinue] = 1
  412. -- SELECT *
  413. FROM   [v3-2].UnicodeCharacterDatabase ucd
  414. WHERE  1 = 0
  415. OR ucd.[CodePoint] BETWEEN 0x0030 AND 0x0039
  416. OR ucd.[CodePoint] BETWEEN 0x0041 AND 0x005A
  417. OR ucd.[CodePoint] = 0x005F
  418. OR ucd.[CodePoint] BETWEEN 0x0061 AND 0x007A
  419. OR ucd.[CodePoint] = 0x00AA
  420. OR ucd.[CodePoint] = 0x00B5
  421. OR ucd.[CodePoint] = 0x00BA
  422. OR ucd.[CodePoint] BETWEEN 0x00C0 AND 0x00D6
  423. OR ucd.[CodePoint] BETWEEN 0x00D8 AND 0x00F6
  424. OR ucd.[CodePoint] BETWEEN 0x00F8 AND 0x01BA
  425. OR ucd.[CodePoint] = 0x01BB
  426. OR ucd.[CodePoint] BETWEEN 0x01BC AND 0x01BF
  427. OR ucd.[CodePoint] BETWEEN 0x01C0 AND 0x01C3
  428. OR ucd.[CodePoint] BETWEEN 0x01C4 AND 0x0220
  429. OR ucd.[CodePoint] BETWEEN 0x0222 AND 0x0233
  430. OR ucd.[CodePoint] BETWEEN 0x0250 AND 0x02AD
  431. OR ucd.[CodePoint] BETWEEN 0x02B0 AND 0x02B8
  432. OR ucd.[CodePoint] BETWEEN 0x02BB AND 0x02C1
  433. OR ucd.[CodePoint] BETWEEN 0x02D0 AND 0x02D1
  434. OR ucd.[CodePoint] BETWEEN 0x02E0 AND 0x02E4
  435. OR ucd.[CodePoint] = 0x02EE
  436. OR ucd.[CodePoint] BETWEEN 0x0300 AND 0x034F
  437. OR ucd.[CodePoint] BETWEEN 0x0360 AND 0x036F
  438. OR ucd.[CodePoint] = 0x037A
  439. OR ucd.[CodePoint] = 0x0386
  440. OR ucd.[CodePoint] BETWEEN 0x0388 AND 0x038A
  441. OR ucd.[CodePoint] = 0x038C
  442. OR ucd.[CodePoint] BETWEEN 0x038E AND 0x03A1
  443. OR ucd.[CodePoint] BETWEEN 0x03A3 AND 0x03CE
  444. OR ucd.[CodePoint] BETWEEN 0x03D0 AND 0x03F5
  445. OR ucd.[CodePoint] BETWEEN 0x0400 AND 0x0481
  446. OR ucd.[CodePoint] BETWEEN 0x0483 AND 0x0486
  447. OR ucd.[CodePoint] BETWEEN 0x048A AND 0x04CE
  448. OR ucd.[CodePoint] BETWEEN 0x04D0 AND 0x04F5
  449. OR ucd.[CodePoint] BETWEEN 0x04F8 AND 0x04F9
  450. OR ucd.[CodePoint] BETWEEN 0x0500 AND 0x050F
  451. OR ucd.[CodePoint] BETWEEN 0x0531 AND 0x0556
  452. OR ucd.[CodePoint] = 0x0559
  453. OR ucd.[CodePoint] BETWEEN 0x0561 AND 0x0587
  454. OR ucd.[CodePoint] BETWEEN 0x0591 AND 0x05A1
  455. OR ucd.[CodePoint] BETWEEN 0x05A3 AND 0x05B9
  456. OR ucd.[CodePoint] BETWEEN 0x05BB AND 0x05BD
  457. OR ucd.[CodePoint] = 0x05BF
  458. OR ucd.[CodePoint] BETWEEN 0x05C1 AND 0x05C2
  459. OR ucd.[CodePoint] = 0x05C4
  460. OR ucd.[CodePoint] BETWEEN 0x05D0 AND 0x05EA
  461. OR ucd.[CodePoint] BETWEEN 0x05F0 AND 0x05F2
  462. OR ucd.[CodePoint] BETWEEN 0x0621 AND 0x063A
  463. OR ucd.[CodePoint] = 0x0640
  464. OR ucd.[CodePoint] BETWEEN 0x0641 AND 0x064A
  465. OR ucd.[CodePoint] BETWEEN 0x064B AND 0x0655
  466. OR ucd.[CodePoint] BETWEEN 0x0660 AND 0x0669
  467. OR ucd.[CodePoint] BETWEEN 0x066E AND 0x066F
  468. OR ucd.[CodePoint] = 0x0670
  469. OR ucd.[CodePoint] BETWEEN 0x0671 AND 0x06D3
  470. OR ucd.[CodePoint] = 0x06D5
  471. OR ucd.[CodePoint] BETWEEN 0x06D6 AND 0x06DC
  472. OR ucd.[CodePoint] BETWEEN 0x06DF AND 0x06E4
  473. OR ucd.[CodePoint] BETWEEN 0x06E5 AND 0x06E6
  474. OR ucd.[CodePoint] BETWEEN 0x06E7 AND 0x06E8
  475. OR ucd.[CodePoint] BETWEEN 0x06EA AND 0x06ED
  476. OR ucd.[CodePoint] BETWEEN 0x06F0 AND 0x06F9
  477. OR ucd.[CodePoint] BETWEEN 0x06FA AND 0x06FC
  478. OR ucd.[CodePoint] = 0x0710
  479. OR ucd.[CodePoint] = 0x0711
  480. OR ucd.[CodePoint] BETWEEN 0x0712 AND 0x072C
  481. OR ucd.[CodePoint] BETWEEN 0x0730 AND 0x074A
  482. OR ucd.[CodePoint] BETWEEN 0x0780 AND 0x07A5
  483. OR ucd.[CodePoint] BETWEEN 0x07A6 AND 0x07B0
  484. OR ucd.[CodePoint] = 0x07B1
  485. OR ucd.[CodePoint] BETWEEN 0x0901 AND 0x0902
  486. OR ucd.[CodePoint] = 0x0903
  487. OR ucd.[CodePoint] BETWEEN 0x0905 AND 0x0939
  488. OR ucd.[CodePoint] = 0x093C
  489. OR ucd.[CodePoint] = 0x093D
  490. OR ucd.[CodePoint] BETWEEN 0x093E AND 0x0940
  491. OR ucd.[CodePoint] BETWEEN 0x0941 AND 0x0948
  492. OR ucd.[CodePoint] BETWEEN 0x0949 AND 0x094C
  493. OR ucd.[CodePoint] = 0x094D
  494. OR ucd.[CodePoint] = 0x0950
  495. OR ucd.[CodePoint] BETWEEN 0x0951 AND 0x0954
  496. OR ucd.[CodePoint] BETWEEN 0x0958 AND 0x0961
  497. OR ucd.[CodePoint] BETWEEN 0x0962 AND 0x0963
  498. OR ucd.[CodePoint] BETWEEN 0x0966 AND 0x096F
  499. OR ucd.[CodePoint] = 0x0981
  500. OR ucd.[CodePoint] BETWEEN 0x0982 AND 0x0983
  501. OR ucd.[CodePoint] BETWEEN 0x0985 AND 0x098C
  502. OR ucd.[CodePoint] BETWEEN 0x098F AND 0x0990
  503. OR ucd.[CodePoint] BETWEEN 0x0993 AND 0x09A8
  504. OR ucd.[CodePoint] BETWEEN 0x09AA AND 0x09B0
  505. OR ucd.[CodePoint] = 0x09B2
  506. OR ucd.[CodePoint] BETWEEN 0x09B6 AND 0x09B9
  507. OR ucd.[CodePoint] = 0x09BC
  508. OR ucd.[CodePoint] BETWEEN 0x09BE AND 0x09C0
  509. OR ucd.[CodePoint] BETWEEN 0x09C1 AND 0x09C4
  510. OR ucd.[CodePoint] BETWEEN 0x09C7 AND 0x09C8
  511. OR ucd.[CodePoint] BETWEEN 0x09CB AND 0x09CC
  512. OR ucd.[CodePoint] = 0x09CD
  513. OR ucd.[CodePoint] = 0x09D7
  514. OR ucd.[CodePoint] BETWEEN 0x09DC AND 0x09DD
  515. OR ucd.[CodePoint] BETWEEN 0x09DF AND 0x09E1
  516. OR ucd.[CodePoint] BETWEEN 0x09E2 AND 0x09E3
  517. OR ucd.[CodePoint] BETWEEN 0x09E6 AND 0x09EF
  518. OR ucd.[CodePoint] BETWEEN 0x09F0 AND 0x09F1
  519. OR ucd.[CodePoint] = 0x0A02
  520. OR ucd.[CodePoint] BETWEEN 0x0A05 AND 0x0A0A
  521. OR ucd.[CodePoint] BETWEEN 0x0A0F AND 0x0A10
  522. OR ucd.[CodePoint] BETWEEN 0x0A13 AND 0x0A28
  523. OR ucd.[CodePoint] BETWEEN 0x0A2A AND 0x0A30
  524. OR ucd.[CodePoint] BETWEEN 0x0A32 AND 0x0A33
  525. OR ucd.[CodePoint] BETWEEN 0x0A35 AND 0x0A36
  526. OR ucd.[CodePoint] BETWEEN 0x0A38 AND 0x0A39
  527. OR ucd.[CodePoint] = 0x0A3C
  528. OR ucd.[CodePoint] BETWEEN 0x0A3E AND 0x0A40
  529. OR ucd.[CodePoint] BETWEEN 0x0A41 AND 0x0A42
  530. OR ucd.[CodePoint] BETWEEN 0x0A47 AND 0x0A48
  531. OR ucd.[CodePoint] BETWEEN 0x0A4B AND 0x0A4D
  532. OR ucd.[CodePoint] BETWEEN 0x0A59 AND 0x0A5C
  533. OR ucd.[CodePoint] = 0x0A5E
  534. OR ucd.[CodePoint] BETWEEN 0x0A66 AND 0x0A6F
  535. OR ucd.[CodePoint] BETWEEN 0x0A70 AND 0x0A71
  536. OR ucd.[CodePoint] BETWEEN 0x0A72 AND 0x0A74
  537. OR ucd.[CodePoint] BETWEEN 0x0A81 AND 0x0A82
  538. OR ucd.[CodePoint] = 0x0A83
  539. OR ucd.[CodePoint] BETWEEN 0x0A85 AND 0x0A8B
  540. OR ucd.[CodePoint] = 0x0A8D
  541. OR ucd.[CodePoint] BETWEEN 0x0A8F AND 0x0A91
  542. OR ucd.[CodePoint] BETWEEN 0x0A93 AND 0x0AA8
  543. OR ucd.[CodePoint] BETWEEN 0x0AAA AND 0x0AB0
  544. OR ucd.[CodePoint] BETWEEN 0x0AB2 AND 0x0AB3
  545. OR ucd.[CodePoint] BETWEEN 0x0AB5 AND 0x0AB9
  546. OR ucd.[CodePoint] = 0x0ABC
  547. OR ucd.[CodePoint] = 0x0ABD
  548. OR ucd.[CodePoint] BETWEEN 0x0ABE AND 0x0AC0
  549. OR ucd.[CodePoint] BETWEEN 0x0AC1 AND 0x0AC5
  550. OR ucd.[CodePoint] BETWEEN 0x0AC7 AND 0x0AC8
  551. OR ucd.[CodePoint] = 0x0AC9
  552. OR ucd.[CodePoint] BETWEEN 0x0ACB AND 0x0ACC
  553. OR ucd.[CodePoint] = 0x0ACD
  554. OR ucd.[CodePoint] = 0x0AD0
  555. OR ucd.[CodePoint] = 0x0AE0
  556. OR ucd.[CodePoint] BETWEEN 0x0AE6 AND 0x0AEF
  557. OR ucd.[CodePoint] = 0x0B01
  558. OR ucd.[CodePoint] BETWEEN 0x0B02 AND 0x0B03
  559. OR ucd.[CodePoint] BETWEEN 0x0B05 AND 0x0B0C
  560. OR ucd.[CodePoint] BETWEEN 0x0B0F AND 0x0B10
  561. OR ucd.[CodePoint] BETWEEN 0x0B13 AND 0x0B28
  562. OR ucd.[CodePoint] BETWEEN 0x0B2A AND 0x0B30
  563. OR ucd.[CodePoint] BETWEEN 0x0B32 AND 0x0B33
  564. OR ucd.[CodePoint] BETWEEN 0x0B36 AND 0x0B39
  565. OR ucd.[CodePoint] = 0x0B3C
  566. OR ucd.[CodePoint] = 0x0B3D
  567. OR ucd.[CodePoint] = 0x0B3E
  568. OR ucd.[CodePoint] = 0x0B3F
  569. OR ucd.[CodePoint] = 0x0B40
  570. OR ucd.[CodePoint] BETWEEN 0x0B41 AND 0x0B43
  571. OR ucd.[CodePoint] BETWEEN 0x0B47 AND 0x0B48
  572. OR ucd.[CodePoint] BETWEEN 0x0B4B AND 0x0B4C
  573. OR ucd.[CodePoint] = 0x0B4D
  574. OR ucd.[CodePoint] = 0x0B56
  575. OR ucd.[CodePoint] = 0x0B57
  576. OR ucd.[CodePoint] BETWEEN 0x0B5C AND 0x0B5D
  577. OR ucd.[CodePoint] BETWEEN 0x0B5F AND 0x0B61
  578. OR ucd.[CodePoint] BETWEEN 0x0B66 AND 0x0B6F
  579. OR ucd.[CodePoint] = 0x0B82
  580. OR ucd.[CodePoint] = 0x0B83
  581. OR ucd.[CodePoint] BETWEEN 0x0B85 AND 0x0B8A
  582. OR ucd.[CodePoint] BETWEEN 0x0B8E AND 0x0B90
  583. OR ucd.[CodePoint] BETWEEN 0x0B92 AND 0x0B95
  584. OR ucd.[CodePoint] BETWEEN 0x0B99 AND 0x0B9A
  585. OR ucd.[CodePoint] = 0x0B9C
  586. OR ucd.[CodePoint] BETWEEN 0x0B9E AND 0x0B9F
  587. OR ucd.[CodePoint] BETWEEN 0x0BA3 AND 0x0BA4
  588. OR ucd.[CodePoint] BETWEEN 0x0BA8 AND 0x0BAA
  589. OR ucd.[CodePoint] BETWEEN 0x0BAE AND 0x0BB5
  590. OR ucd.[CodePoint] BETWEEN 0x0BB7 AND 0x0BB9
  591. OR ucd.[CodePoint] BETWEEN 0x0BBE AND 0x0BBF
  592. OR ucd.[CodePoint] = 0x0BC0
  593. OR ucd.[CodePoint] BETWEEN 0x0BC1 AND 0x0BC2
  594. OR ucd.[CodePoint] BETWEEN 0x0BC6 AND 0x0BC8
  595. OR ucd.[CodePoint] BETWEEN 0x0BCA AND 0x0BCC
  596. OR ucd.[CodePoint] = 0x0BCD
  597. OR ucd.[CodePoint] = 0x0BD7
  598. OR ucd.[CodePoint] BETWEEN 0x0BE7 AND 0x0BEF
  599. OR ucd.[CodePoint] BETWEEN 0x0C01 AND 0x0C03
  600. OR ucd.[CodePoint] BETWEEN 0x0C05 AND 0x0C0C
  601. OR ucd.[CodePoint] BETWEEN 0x0C0E AND 0x0C10
  602. OR ucd.[CodePoint] BETWEEN 0x0C12 AND 0x0C28
  603. OR ucd.[CodePoint] BETWEEN 0x0C2A AND 0x0C33
  604. OR ucd.[CodePoint] BETWEEN 0x0C35 AND 0x0C39
  605. OR ucd.[CodePoint] BETWEEN 0x0C3E AND 0x0C40
  606. OR ucd.[CodePoint] BETWEEN 0x0C41 AND 0x0C44
  607. OR ucd.[CodePoint] BETWEEN 0x0C46 AND 0x0C48
  608. OR ucd.[CodePoint] BETWEEN 0x0C4A AND 0x0C4D
  609. OR ucd.[CodePoint] BETWEEN 0x0C55 AND 0x0C56
  610. OR ucd.[CodePoint] BETWEEN 0x0C60 AND 0x0C61
  611. OR ucd.[CodePoint] BETWEEN 0x0C66 AND 0x0C6F
  612. OR ucd.[CodePoint] BETWEEN 0x0C82 AND 0x0C83
  613. OR ucd.[CodePoint] BETWEEN 0x0C85 AND 0x0C8C
  614. OR ucd.[CodePoint] BETWEEN 0x0C8E AND 0x0C90
  615. OR ucd.[CodePoint] BETWEEN 0x0C92 AND 0x0CA8
  616. OR ucd.[CodePoint] BETWEEN 0x0CAA AND 0x0CB3
  617. OR ucd.[CodePoint] BETWEEN 0x0CB5 AND 0x0CB9
  618. OR ucd.[CodePoint] = 0x0CBE
  619. OR ucd.[CodePoint] = 0x0CBF
  620. OR ucd.[CodePoint] BETWEEN 0x0CC0 AND 0x0CC4
  621. OR ucd.[CodePoint] = 0x0CC6
  622. OR ucd.[CodePoint] BETWEEN 0x0CC7 AND 0x0CC8
  623. OR ucd.[CodePoint] BETWEEN 0x0CCA AND 0x0CCB
  624. OR ucd.[CodePoint] BETWEEN 0x0CCC AND 0x0CCD
  625. OR ucd.[CodePoint] BETWEEN 0x0CD5 AND 0x0CD6
  626. OR ucd.[CodePoint] = 0x0CDE
  627. OR ucd.[CodePoint] BETWEEN 0x0CE0 AND 0x0CE1
  628. OR ucd.[CodePoint] BETWEEN 0x0CE6 AND 0x0CEF
  629. OR ucd.[CodePoint] BETWEEN 0x0D02 AND 0x0D03
  630. OR ucd.[CodePoint] BETWEEN 0x0D05 AND 0x0D0C
  631. OR ucd.[CodePoint] BETWEEN 0x0D0E AND 0x0D10
  632. OR ucd.[CodePoint] BETWEEN 0x0D12 AND 0x0D28
  633. OR ucd.[CodePoint] BETWEEN 0x0D2A AND 0x0D39
  634. OR ucd.[CodePoint] BETWEEN 0x0D3E AND 0x0D40
  635. OR ucd.[CodePoint] BETWEEN 0x0D41 AND 0x0D43
  636. OR ucd.[CodePoint] BETWEEN 0x0D46 AND 0x0D48
  637. OR ucd.[CodePoint] BETWEEN 0x0D4A AND 0x0D4C
  638. OR ucd.[CodePoint] = 0x0D4D
  639. OR ucd.[CodePoint] = 0x0D57
  640. OR ucd.[CodePoint] BETWEEN 0x0D60 AND 0x0D61
  641. OR ucd.[CodePoint] BETWEEN 0x0D66 AND 0x0D6F
  642. OR ucd.[CodePoint] BETWEEN 0x0D82 AND 0x0D83
  643. OR ucd.[CodePoint] BETWEEN 0x0D85 AND 0x0D96
  644. OR ucd.[CodePoint] BETWEEN 0x0D9A AND 0x0DB1
  645. OR ucd.[CodePoint] BETWEEN 0x0DB3 AND 0x0DBB
  646. OR ucd.[CodePoint] = 0x0DBD
  647. OR ucd.[CodePoint] BETWEEN 0x0DC0 AND 0x0DC6
  648. OR ucd.[CodePoint] = 0x0DCA
  649. OR ucd.[CodePoint] BETWEEN 0x0DCF AND 0x0DD1
  650. OR ucd.[CodePoint] BETWEEN 0x0DD2 AND 0x0DD4
  651. OR ucd.[CodePoint] = 0x0DD6
  652. OR ucd.[CodePoint] BETWEEN 0x0DD8 AND 0x0DDF
  653. OR ucd.[CodePoint] BETWEEN 0x0DF2 AND 0x0DF3
  654. OR ucd.[CodePoint] BETWEEN 0x0E01 AND 0x0E30
  655. OR ucd.[CodePoint] = 0x0E31
  656. OR ucd.[CodePoint] BETWEEN 0x0E32 AND 0x0E33
  657. OR ucd.[CodePoint] BETWEEN 0x0E34 AND 0x0E3A
  658. OR ucd.[CodePoint] BETWEEN 0x0E40 AND 0x0E45
  659. OR ucd.[CodePoint] = 0x0E46
  660. OR ucd.[CodePoint] BETWEEN 0x0E47 AND 0x0E4E
  661. OR ucd.[CodePoint] BETWEEN 0x0E50 AND 0x0E59
  662. OR ucd.[CodePoint] BETWEEN 0x0E81 AND 0x0E82
  663. OR ucd.[CodePoint] = 0x0E84
  664. OR ucd.[CodePoint] BETWEEN 0x0E87 AND 0x0E88
  665. OR ucd.[CodePoint] = 0x0E8A
  666. OR ucd.[CodePoint] = 0x0E8D
  667. OR ucd.[CodePoint] BETWEEN 0x0E94 AND 0x0E97
  668. OR ucd.[CodePoint] BETWEEN 0x0E99 AND 0x0E9F
  669. OR ucd.[CodePoint] BETWEEN 0x0EA1 AND 0x0EA3
  670. OR ucd.[CodePoint] = 0x0EA5
  671. OR ucd.[CodePoint] = 0x0EA7
  672. OR ucd.[CodePoint] BETWEEN 0x0EAA AND 0x0EAB
  673. OR ucd.[CodePoint] BETWEEN 0x0EAD AND 0x0EB0
  674. OR ucd.[CodePoint] = 0x0EB1
  675. OR ucd.[CodePoint] BETWEEN 0x0EB2 AND 0x0EB3
  676. OR ucd.[CodePoint] BETWEEN 0x0EB4 AND 0x0EB9
  677. OR ucd.[CodePoint] BETWEEN 0x0EBB AND 0x0EBC
  678. OR ucd.[CodePoint] = 0x0EBD
  679. OR ucd.[CodePoint] BETWEEN 0x0EC0 AND 0x0EC4
  680. OR ucd.[CodePoint] = 0x0EC6
  681. OR ucd.[CodePoint] BETWEEN 0x0EC8 AND 0x0ECD
  682. OR ucd.[CodePoint] BETWEEN 0x0ED0 AND 0x0ED9
  683. OR ucd.[CodePoint] BETWEEN 0x0EDC AND 0x0EDD
  684. OR ucd.[CodePoint] = 0x0F00
  685. OR ucd.[CodePoint] BETWEEN 0x0F18 AND 0x0F19
  686. OR ucd.[CodePoint] BETWEEN 0x0F20 AND 0x0F29
  687. OR ucd.[CodePoint] = 0x0F35
  688. OR ucd.[CodePoint] = 0x0F37
  689. OR ucd.[CodePoint] = 0x0F39
  690. OR ucd.[CodePoint] BETWEEN 0x0F3E AND 0x0F3F
  691. OR ucd.[CodePoint] BETWEEN 0x0F40 AND 0x0F47
  692. OR ucd.[CodePoint] BETWEEN 0x0F49 AND 0x0F6A
  693. OR ucd.[CodePoint] BETWEEN 0x0F71 AND 0x0F7E
  694. OR ucd.[CodePoint] = 0x0F7F
  695. OR ucd.[CodePoint] BETWEEN 0x0F80 AND 0x0F84
  696. OR ucd.[CodePoint] BETWEEN 0x0F86 AND 0x0F87
  697. OR ucd.[CodePoint] BETWEEN 0x0F88 AND 0x0F8B
  698. OR ucd.[CodePoint] BETWEEN 0x0F90 AND 0x0F97
  699. OR ucd.[CodePoint] BETWEEN 0x0F99 AND 0x0FBC
  700. OR ucd.[CodePoint] = 0x0FC6
  701. OR ucd.[CodePoint] BETWEEN 0x1000 AND 0x1021
  702. OR ucd.[CodePoint] BETWEEN 0x1023 AND 0x1027
  703. OR ucd.[CodePoint] BETWEEN 0x1029 AND 0x102A
  704. OR ucd.[CodePoint] = 0x102C
  705. OR ucd.[CodePoint] BETWEEN 0x102D AND 0x1030
  706. OR ucd.[CodePoint] = 0x1031
  707. OR ucd.[CodePoint] = 0x1032
  708. OR ucd.[CodePoint] BETWEEN 0x1036 AND 0x1037
  709. OR ucd.[CodePoint] = 0x1038
  710. OR ucd.[CodePoint] = 0x1039
  711. OR ucd.[CodePoint] BETWEEN 0x1040 AND 0x1049
  712. OR ucd.[CodePoint] BETWEEN 0x1050 AND 0x1055
  713. OR ucd.[CodePoint] BETWEEN 0x1056 AND 0x1057
  714. OR ucd.[CodePoint] BETWEEN 0x1058 AND 0x1059
  715. OR ucd.[CodePoint] BETWEEN 0x10A0 AND 0x10C5
  716. OR ucd.[CodePoint] BETWEEN 0x10D0 AND 0x10F8
  717. OR ucd.[CodePoint] BETWEEN 0x1100 AND 0x1159
  718. OR ucd.[CodePoint] BETWEEN 0x115F AND 0x11A2
  719. OR ucd.[CodePoint] BETWEEN 0x11A8 AND 0x11F9
  720. OR ucd.[CodePoint] BETWEEN 0x1200 AND 0x1206
  721. OR ucd.[CodePoint] BETWEEN 0x1208 AND 0x1246
  722. OR ucd.[CodePoint] = 0x1248
  723. OR ucd.[CodePoint] BETWEEN 0x124A AND 0x124D
  724. OR ucd.[CodePoint] BETWEEN 0x1250 AND 0x1256
  725. OR ucd.[CodePoint] = 0x1258
  726. OR ucd.[CodePoint] BETWEEN 0x125A AND 0x125D
  727. OR ucd.[CodePoint] BETWEEN 0x1260 AND 0x1286
  728. OR ucd.[CodePoint] = 0x1288
  729. OR ucd.[CodePoint] BETWEEN 0x128A AND 0x128D
  730. OR ucd.[CodePoint] BETWEEN 0x1290 AND 0x12AE
  731. OR ucd.[CodePoint] = 0x12B0
  732. OR ucd.[CodePoint] BETWEEN 0x12B2 AND 0x12B5
  733. OR ucd.[CodePoint] BETWEEN 0x12B8 AND 0x12BE
  734. OR ucd.[CodePoint] = 0x12C0
  735. OR ucd.[CodePoint] BETWEEN 0x12C2 AND 0x12C5
  736. OR ucd.[CodePoint] BETWEEN 0x12C8 AND 0x12CE
  737. OR ucd.[CodePoint] BETWEEN 0x12D0 AND 0x12D6
  738. OR ucd.[CodePoint] BETWEEN 0x12D8 AND 0x12EE
  739. OR ucd.[CodePoint] BETWEEN 0x12F0 AND 0x130E
  740. OR ucd.[CodePoint] = 0x1310
  741. OR ucd.[CodePoint] BETWEEN 0x1312 AND 0x1315
  742. OR ucd.[CodePoint] BETWEEN 0x1318 AND 0x131E
  743. OR ucd.[CodePoint] BETWEEN 0x1320 AND 0x1346
  744. OR ucd.[CodePoint] BETWEEN 0x1348 AND 0x135A
  745. OR ucd.[CodePoint] BETWEEN 0x1369 AND 0x1371
  746. OR ucd.[CodePoint] BETWEEN 0x13A0 AND 0x13F4
  747. OR ucd.[CodePoint] BETWEEN 0x1401 AND 0x166C
  748. OR ucd.[CodePoint] BETWEEN 0x166F AND 0x1676
  749. OR ucd.[CodePoint] BETWEEN 0x1681 AND 0x169A
  750. OR ucd.[CodePoint] BETWEEN 0x16A0 AND 0x16EA
  751. OR ucd.[CodePoint] BETWEEN 0x16EE AND 0x16F0
  752. OR ucd.[CodePoint] BETWEEN 0x1700 AND 0x170C
  753. OR ucd.[CodePoint] BETWEEN 0x170E AND 0x1711
  754. OR ucd.[CodePoint] BETWEEN 0x1712 AND 0x1714
  755. OR ucd.[CodePoint] BETWEEN 0x1720 AND 0x1731
  756. OR ucd.[CodePoint] BETWEEN 0x1732 AND 0x1734
  757. OR ucd.[CodePoint] BETWEEN 0x1740 AND 0x1751
  758. OR ucd.[CodePoint] BETWEEN 0x1752 AND 0x1753
  759. OR ucd.[CodePoint] BETWEEN 0x1760 AND 0x176C
  760. OR ucd.[CodePoint] BETWEEN 0x176E AND 0x1770
  761. OR ucd.[CodePoint] BETWEEN 0x1772 AND 0x1773
  762. OR ucd.[CodePoint] BETWEEN 0x1780 AND 0x17B3
  763. OR ucd.[CodePoint] BETWEEN 0x17B4 AND 0x17B6
  764. OR ucd.[CodePoint] BETWEEN 0x17B7 AND 0x17BD
  765. OR ucd.[CodePoint] BETWEEN 0x17BE AND 0x17C5
  766. OR ucd.[CodePoint] = 0x17C6
  767. OR ucd.[CodePoint] BETWEEN 0x17C7 AND 0x17C8
  768. OR ucd.[CodePoint] BETWEEN 0x17C9 AND 0x17D3
  769. OR ucd.[CodePoint] = 0x17D7
  770. OR ucd.[CodePoint] = 0x17DC
  771. OR ucd.[CodePoint] BETWEEN 0x17E0 AND 0x17E9
  772. OR ucd.[CodePoint] BETWEEN 0x180B AND 0x180D
  773. OR ucd.[CodePoint] BETWEEN 0x1810 AND 0x1819
  774. OR ucd.[CodePoint] BETWEEN 0x1820 AND 0x1842
  775. OR ucd.[CodePoint] = 0x1843
  776. OR ucd.[CodePoint] BETWEEN 0x1844 AND 0x1877
  777. OR ucd.[CodePoint] BETWEEN 0x1880 AND 0x18A8
  778. OR ucd.[CodePoint] = 0x18A9
  779. OR ucd.[CodePoint] BETWEEN 0x1E00 AND 0x1E9B
  780. OR ucd.[CodePoint] BETWEEN 0x1EA0 AND 0x1EF9
  781. OR ucd.[CodePoint] BETWEEN 0x1F00 AND 0x1F15
  782. OR ucd.[CodePoint] BETWEEN 0x1F18 AND 0x1F1D
  783. OR ucd.[CodePoint] BETWEEN 0x1F20 AND 0x1F45
  784. OR ucd.[CodePoint] BETWEEN 0x1F48 AND 0x1F4D
  785. OR ucd.[CodePoint] BETWEEN 0x1F50 AND 0x1F57
  786. OR ucd.[CodePoint] = 0x1F59
  787. OR ucd.[CodePoint] = 0x1F5B
  788. OR ucd.[CodePoint] = 0x1F5D
  789. OR ucd.[CodePoint] BETWEEN 0x1F5F AND 0x1F7D
  790. OR ucd.[CodePoint] BETWEEN 0x1F80 AND 0x1FB4
  791. OR ucd.[CodePoint] BETWEEN 0x1FB6 AND 0x1FBC
  792. OR ucd.[CodePoint] = 0x1FBE
  793. OR ucd.[CodePoint] BETWEEN 0x1FC2 AND 0x1FC4
  794. OR ucd.[CodePoint] BETWEEN 0x1FC6 AND 0x1FCC
  795. OR ucd.[CodePoint] BETWEEN 0x1FD0 AND 0x1FD3
  796. OR ucd.[CodePoint] BETWEEN 0x1FD6 AND 0x1FDB
  797. OR ucd.[CodePoint] BETWEEN 0x1FE0 AND 0x1FEC
  798. OR ucd.[CodePoint] BETWEEN 0x1FF2 AND 0x1FF4
  799. OR ucd.[CodePoint] BETWEEN 0x1FF6 AND 0x1FFC
  800. OR ucd.[CodePoint] BETWEEN 0x203F AND 0x2040
  801. OR ucd.[CodePoint] = 0x2071
  802. OR ucd.[CodePoint] = 0x207F
  803. OR ucd.[CodePoint] BETWEEN 0x20D0 AND 0x20DC
  804. OR ucd.[CodePoint] = 0x20E1
  805. OR ucd.[CodePoint] BETWEEN 0x20E5 AND 0x20EA
  806. OR ucd.[CodePoint] = 0x2102
  807. OR ucd.[CodePoint] = 0x2107
  808. OR ucd.[CodePoint] BETWEEN 0x210A AND 0x2113
  809. OR ucd.[CodePoint] = 0x2115
  810. OR ucd.[CodePoint] BETWEEN 0x2119 AND 0x211D
  811. OR ucd.[CodePoint] = 0x2124
  812. OR ucd.[CodePoint] = 0x2126
  813. OR ucd.[CodePoint] = 0x2128
  814. OR ucd.[CodePoint] BETWEEN 0x212A AND 0x212D
  815. OR ucd.[CodePoint] BETWEEN 0x212F AND 0x2131
  816. OR ucd.[CodePoint] BETWEEN 0x2133 AND 0x2134
  817. OR ucd.[CodePoint] BETWEEN 0x2135 AND 0x2138
  818. OR ucd.[CodePoint] = 0x2139
  819. OR ucd.[CodePoint] BETWEEN 0x213D AND 0x213F
  820. OR ucd.[CodePoint] BETWEEN 0x2145 AND 0x2149
  821. OR ucd.[CodePoint] BETWEEN 0x2160 AND 0x2183
  822. OR ucd.[CodePoint] = 0x3005
  823. OR ucd.[CodePoint] = 0x3006
  824. OR ucd.[CodePoint] = 0x3007
  825. OR ucd.[CodePoint] BETWEEN 0x3021 AND 0x3029
  826. OR ucd.[CodePoint] BETWEEN 0x302A AND 0x302F
  827. OR ucd.[CodePoint] BETWEEN 0x3031 AND 0x3035
  828. OR ucd.[CodePoint] BETWEEN 0x3038 AND 0x303A
  829. OR ucd.[CodePoint] = 0x303B
  830. OR ucd.[CodePoint] = 0x303C
  831. OR ucd.[CodePoint] BETWEEN 0x3041 AND 0x3096
  832. OR ucd.[CodePoint] BETWEEN 0x3099 AND 0x309A
  833. OR ucd.[CodePoint] BETWEEN 0x309D AND 0x309E
  834. OR ucd.[CodePoint] = 0x309F
  835. OR ucd.[CodePoint] BETWEEN 0x30A1 AND 0x30FA
  836. OR ucd.[CodePoint] = 0x30FB
  837. OR ucd.[CodePoint] BETWEEN 0x30FC AND 0x30FE
  838. OR ucd.[CodePoint] = 0x30FF
  839. OR ucd.[CodePoint] BETWEEN 0x3105 AND 0x312C
  840. OR ucd.[CodePoint] BETWEEN 0x3131 AND 0x318E
  841. OR ucd.[CodePoint] BETWEEN 0x31A0 AND 0x31B7
  842. OR ucd.[CodePoint] BETWEEN 0x31F0 AND 0x31FF
  843. OR ucd.[CodePoint] BETWEEN 0x3400 AND 0x4DB5
  844. OR ucd.[CodePoint] BETWEEN 0x4E00 AND 0x9FA5
  845. OR ucd.[CodePoint] BETWEEN 0xA000 AND 0xA48C
  846. OR ucd.[CodePoint] BETWEEN 0xAC00 AND 0xD7A3
  847. OR ucd.[CodePoint] BETWEEN 0xF900 AND 0xFA2D
  848. OR ucd.[CodePoint] BETWEEN 0xFA30 AND 0xFA6A
  849. OR ucd.[CodePoint] BETWEEN 0xFB00 AND 0xFB06
  850. OR ucd.[CodePoint] BETWEEN 0xFB13 AND 0xFB17
  851. OR ucd.[CodePoint] = 0xFB1D
  852. OR ucd.[CodePoint] = 0xFB1E
  853. OR ucd.[CodePoint] BETWEEN 0xFB1F AND 0xFB28
  854. OR ucd.[CodePoint] BETWEEN 0xFB2A AND 0xFB36
  855. OR ucd.[CodePoint] BETWEEN 0xFB38 AND 0xFB3C
  856. OR ucd.[CodePoint] = 0xFB3E
  857. OR ucd.[CodePoint] BETWEEN 0xFB40 AND 0xFB41
  858. OR ucd.[CodePoint] BETWEEN 0xFB43 AND 0xFB44
  859. OR ucd.[CodePoint] BETWEEN 0xFB46 AND 0xFBB1
  860. OR ucd.[CodePoint] BETWEEN 0xFBD3 AND 0xFD3D
  861. OR ucd.[CodePoint] BETWEEN 0xFD50 AND 0xFD8F
  862. OR ucd.[CodePoint] BETWEEN 0xFD92 AND 0xFDC7
  863. OR ucd.[CodePoint] BETWEEN 0xFDF0 AND 0xFDFB
  864. OR ucd.[CodePoint] BETWEEN 0xFE00 AND 0xFE0F
  865. OR ucd.[CodePoint] BETWEEN 0xFE20 AND 0xFE23
  866. OR ucd.[CodePoint] BETWEEN 0xFE33 AND 0xFE34
  867. OR ucd.[CodePoint] BETWEEN 0xFE4D AND 0xFE4F
  868. OR ucd.[CodePoint] BETWEEN 0xFE70 AND 0xFE74
  869. OR ucd.[CodePoint] BETWEEN 0xFE76 AND 0xFEFC
  870. OR ucd.[CodePoint] BETWEEN 0xFF10 AND 0xFF19
  871. OR ucd.[CodePoint] BETWEEN 0xFF21 AND 0xFF3A
  872. OR ucd.[CodePoint] = 0xFF3F
  873. OR ucd.[CodePoint] BETWEEN 0xFF41 AND 0xFF5A
  874. OR ucd.[CodePoint] = 0xFF65
  875. OR ucd.[CodePoint] BETWEEN 0xFF66 AND 0xFF6F
  876. OR ucd.[CodePoint] = 0xFF70
  877. OR ucd.[CodePoint] BETWEEN 0xFF71 AND 0xFF9D
  878. OR ucd.[CodePoint] BETWEEN 0xFF9E AND 0xFF9F
  879. OR ucd.[CodePoint] BETWEEN 0xFFA0 AND 0xFFBE
  880. OR ucd.[CodePoint] BETWEEN 0xFFC2 AND 0xFFC7
  881. OR ucd.[CodePoint] BETWEEN 0xFFCA AND 0xFFCF
  882. OR ucd.[CodePoint] BETWEEN 0xFFD2 AND 0xFFD7
  883. OR ucd.[CodePoint] BETWEEN 0xFFDA AND 0xFFDC
  884. ');
  885.  
  886.     -----------------------------------------------------------------------
  887.  
  888.     COMMIT TRAN;
  889.  
  890. END TRY
  891. BEGIN CATCH
  892.     ROLLBACK TRAN;
  893.  
  894.     DECLARE @ErrorMessage NVARCHAR(4000);
  895.     SET @ErrorMessage = ERROR_MESSAGE();
  896.     RAISERROR(@ErrorMessage, 16, 1);
  897.     RETURN;
  898. END CATCH;
  899.  
  900.  
  901. EXEC (N'
  902. SELECT *
  903. FROM   [v3-2].UnicodeCharacterDatabase ucd
  904. WHERE  ucd.[IDStart] = 1
  905. OR     ucd.[IDContinue] = 1;
  906. ');
  907. -- 46,514 rows
  908.  
  909.  
  910. GO
Add Comment
Please, Sign In to add comment