18variable.mql 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. -- ============================================================
  2. -- 变量替换测试:{%t,now}/{%d,rand}/{%s,keyspace}/'...N Bytes...'/{%t,varname}/{%d,varname}
  3. -- ============================================================
  4. -- 1. {%t,now} 当前时间戳 (已知新版工具变量替换格式问题)
  5. insert into /test/aaa/test_ext (e_name, e_value, e_text) values ('var_now', 1, {%t,now})
  6. /**
  7. onerror(continue)
  8. **/
  9. ;
  10. select e_name, e_text from /test/aaa/test_ext where e_name='var_now'
  11. /**
  12. output()
  13. **/
  14. ;
  15. -- 2. {%d,rand} 随机数 (已知新版工具变量替换格式问题)
  16. insert into /test/aaa/test_ext (e_name, e_value, e_text) values ('var_rand', {%d,rand}, 'random number: {%d,rand}')
  17. /**
  18. onerror(continue)
  19. **/
  20. ;
  21. select e_name from /test/aaa/test_ext where e_name='var_rand'
  22. /**
  23. output()
  24. onerror(continue)
  25. **/
  26. ;
  27. -- 3. {%s,keyspace} 当前命名空间 (已知新版工具变量替换格式问题)
  28. insert into /test/aaa/test_ext (e_name, e_text) values ('var_keyspace', {%s,keyspace})
  29. /**
  30. onerror(continue)
  31. **/
  32. ;
  33. select e_name, e_text from /test/aaa/test_ext where e_name='var_keyspace'
  34. /**
  35. output()
  36. **/
  37. ;
  38. -- 4. '...N Bytes...' - N个随机可见字符
  39. insert into /test/aaa/test_ext (e_name, e_text) values ('var_bytes', '...10 Bytes...')
  40. ;
  41. select e_name, e_text from /test/aaa/test_ext where e_name='var_bytes'
  42. /**
  43. output()
  44. **/
  45. ;
  46. -- 5. {%t,varname} 时间格式化
  47. /**
  48. beforerun(set(my_time, '2024-06-15 12:30:45'))
  49. **/
  50. ;
  51. insert into /test/aaa/test_ext (e_name, e_text) values ('var_time_fmt', {%t,my_time})
  52. /**
  53. onerror(continue)
  54. **/
  55. ;
  56. select e_name, e_text from /test/aaa/test_ext where e_name='var_time_fmt'
  57. /**
  58. output()
  59. **/
  60. ;
  61. -- 6. {%d,varname} 数字格式化
  62. /**
  63. beforerun(set(my_num, 1024))
  64. **/
  65. ;
  66. insert into /test/aaa/test_ext (e_name, e_value, e_text) values (concat('var_num_fmt_', {%d,my_num}), {%d,my_num}, 'num format test')
  67. /**
  68. onerror(continue)
  69. **/
  70. ;
  71. select e_name, e_value from /test/aaa/test_ext where e_name=^'var_num_fmt'
  72. /**
  73. output()
  74. **/
  75. ;