Transact

正文共:2136 字 5 图  预计阅读时间:6 分钟

前文推送

  1. SQL Server入门

  2. Transact-SQL基础(上)

  3. Transact-SQL基础(下)

  4. SQL笔试50题(上)

  5. SQL笔试50题(下)

  6. SQL基础查询方法

  7. SQL高级查询方法

本文目录:

  • 1.1 系统函数

  • 1.2 安全函数

  • 1.3 元数据函数

1.1 系统函数

 1-- 返回工作站标识号,是连接到 SQL Server的客户端计算机上的应用程序的进程 ID (PID) 2SELECT HOST_ID(); 3-- 返回工作站名 4SELECT HOST_NAME(); 5-- 创建 uniqueidentifier 类型的唯一值 6SELECT NEWID();   7-- 确定表达式是否为有效的数值类型;ISNUMERIC ( expression ) 8SELECT distinct  9    ISNUMERIC(sid),ISNUMERIC(ssex)10from Student 11-- 使用指定的替换值替换 NULL。12-- ISNULL ( check_expression , replacement_value )

system_function

1.1.1 CAST 和 CONVERT

CAST 和 CONVERT函数是将一种数据类型的表达式转换为另一种数据类型的表达式。

1 1 2 3 4 5 6 7 -- CAST()语法: 8 9 10 11 12 13 14 15 16 17 18 19 2CAST ( expression AS data_type [ ( length ) ] ) 20 21 22 23 24 25 26 27 28 29 30 31 3 32 33 34 35 36 37 -- CONVERT()语法: 38 39 40 41 42 43 44 45 46 47 48 49 4CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 50 51 52 53 54 55 56 57 58 59 60 61
  • expression
    任何有效的表达式。

  • data_type
    目标数据类型。这包括 xml、bigint 和 sql_variant。不能使用别名数据类型。

  • length
    指定目标数据类型长度的可选整数。默认值为 30。

  • style
    指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。有关详细信息,请参阅“备注”部分。

1.2 安全函数

对管理安全性有用的函数

1 1 2 3 4 5 6 7 -- 当前用户的名称, 两者等价 8 9 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 SELECT  26 27 28 29 30 31 CURRENT_USER; 32 33 34 35 36 37 38 39 40 41 42 43 3 44 45 46 47 48 49 SELECT USER_NAME(); 50 51 52 53 54 55 56 57 58 59 60 61 4 62 63 64 65 66 67 -- 数据库指定用户的标识号, 用户名缺省则表示当前用户 68 69 70 71 72 73 74 75 76 77 78 79 5 80 81 82 83 84 85 SELECT USER_ID ( [  86 87 88 89 90 91 'user' ] ); 92 93 94 95 96 97 98 99 100 101 102 103 6 104 105 106 107 108 109 SELECT USER_ID(); 110 111 112 113 114 115 116 117 118 119 120 121 7 122 123 124 125 126 127 -- 数据库指定标识号的用户名 128 129 130 131 132 133 134 135 136 137 138 139 8 140 141 142 143 144 145 SELECT USER_NAME([  146 147 148 149 150 151 id ] ); 152 153 154 155 156 157 158 159 160 161 162 163 9 164 165 166 167 168 169 SELECT USER_NAME(); 170 171 172 173 174 175 176 177 178 179 180 181 10 182 183 184 185 186 187 -- 当前数据库中当前上下文的用户名 188 189 190 191 192 193 194 195 196 197 198 199 11 200 201 202 203 204 205 SELECT  206 207 208 209 210 211 SESSION_USER; 212 213 214 215 216 217 218 219 220 221 222 223 12 224 225 226 227 228 229 -- 用户的登录标识号 SUSER_ID ( [ 'login' ] ) login为登录名 230 231 232 233 234 235 236 237 238 239 240 241 13 242 243 244 245 246 247 SELECT SUSER_ID( 248 249 250 251 252 253 'sa'); 254 255 256 257 258 259 260 261 262 263 264 265 14 266 267 268 269 270 271 SELECT SUSER_ID(USER_NAME());  272 273 274 275 276 277 278 279 280 281 282 283 15 284 285 286 287 288 289 -- 根据用户登录标识号返回用户的登录标识名SUSER_NAME ( [ server_user_id ] ) 290 291 292 293 294 295 296 297 298 299 300 301 16 302 303 304 305 306 307 SELECT SUSER_NAME( 308 309 310 311 312 313 1); 314 315 316 317 318 319 320 321 322 323 324 325 17 326 327 328 329 330 331 -- 指定登录名的安全标识号 (SID) 332 333 334 335 336 337 338 339 340 341 342 343 18 344 345 346 347 348 349 SELECT SUSER_SID( 350 351 352 353 354 355 'sa'); 356 357 358 359 360 361 362 363 364 365 366 367 19 368 369 370 371 372 373 -- 与安全标识号 (SID) 关联的登录名 374 375 376 377 378 379 380 381 382 383 384 385 20 386 387 388 389 390 391 SELECT SUSER_SNAME( 392 393 394 395 396 397 0x01); 398 399 400 401 402 403 404 405 406 407 408 409

security_functions

1 1 2 3 4 5 6 7 -- 判断当前账户是否可以访问指定的数据库 8 9 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 SELECT HAS_DBACCESS ( 26 27 28 29 30 31 'database_name'); 32 33 34 35 36 37 38 39 40 41 42 43 3 44 45 46 47 48 49 -- 判断当前用户是否为指定Microsoft Windows组或SQL Server数据库角色的成员 50 51 52 53 54 55 56 57 58 59 60 61 4 62 63 64 65 66 67 SELECT IS_MEMBER ( {  68 69 70 71 72 73 'group' |  74 75 76 77 78 79 'role' } ) 80 81 82 83 84 85 86 87 88 89 90 91

1.3 元数据函数

返回有关数据库和数据库对象的信息

1 1 2 3 4 5 6 7 -- 与架构 ID 关联的架构名称 SCHEMA_NAME ([ schema_id ]) 8 9 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 SELECT SCHEMA_NAME(); 26 27 28 29 30 31 32 33 34 35 36 37 3 38 39 40 41 42 43 -- 与架构名称关联的架构ID SCHEMA_ID ([ schema_name ]) 44 45 46 47 48 49 50 51 52 53 54 55 4 56 57 58 59 60 61 SELECT SCHEMA_ID(); 62 63 64 65 66 67 68 69 70 71 72 73 5 74 75 76 77 78 79 -- 数据库标识 (ID), DB_ID ( [ 'database_name' ] )  80 81 82 83 84 85 86 87 88 89 90 91 6 92 93 94 95 96 97 SELECT DB_ID(); 98 99 100 101 102 103 104 105 106 107 108 109 7 110 111 112 113 114 115 -- 数据库名称 DB_NAME ( [ database_id ] ) 116 117 118 119 120 121 122 123 124 125 126 127 8 128 129 130 131 132 133 SELECT DB_NAME(); 134 135 136 137 138 139 140 141 142 143 144 145 9 146 147 148 149 150 151 -- 指定表中指定列的定义长度(以字节为单位) 152 153 154 155 156 157 158 159 160 161 162 163 10COL_LENGTH ( 'table' , 'column' )  164 165 166 167 168 169 170 171 172 173 174 175

meta_functions

===

本文项目地址:

https://github.com/firewang/sql50

(喜欢的话,Star一下)

阅读原文,或者访问该链接可以在线观看

https://sql50.readthedocs.io/zh\_CN/latest/

参考网址:

PS:

1. 后台回复“线性代数”,“SQL” 等任一关键词获取资源链接

2. 后台回复“联系“, “投稿“, “加入“ 等任一关键词联系我们

3. 后台回复 “红包” 领取红包

零维领域,由内而外深入机器学习

dive into machine learning

微信号:零维领域

英文ID:lingweilingyu

本文分享自微信公众号 - 零维领域(lingweilingyu)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

SQL高级查询方法

正文共:5024字2图  预计阅读时间:14分钟前文推送1.SQLServer入门(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU5MTgxNTQyNA%3D%3D%26mid%3D2247

SQL笔试50题(下)

正文共:4832字22图  预计阅读时间:13分钟前文推送1.MIT线性代数相关资源汇总(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzU5MTgxNTQyNA%3D%3D%26mid%3D224748

AssemblyScript 入门指南[每日前端夜话0xEB]

每日前端夜话0xEB每日前端夜话,陪你聊前端。每天晚上18:00准时推送。正文共:2459 字预计阅读时间:10分钟作者:DannyGuo翻译:疯狂的技术宅来源:logrocket!(https://oscimg.oschina.net/oscnet/b880277c594152a503