
数据库
混乱谜零
这个作者很懒,什么都没留下…
展开
-
oracle 将excel的数字天数转换为字符串
create or replace function func_ensure_excel_date( in_str in varchar2)return varchar2 as v_rst varchar2(500) := '';-- 将excel的数字天数转换为字符串begin if instr(in_str, '-') > 0 then return in_str; en...原创 2022-02-16 15:43:37 · 451 阅读 · 0 评论 -
mysql varchar字段
mysql版本:8.00、单行最长65535(所有字段加起来最大65535)一、varchar最大长度https://blog.youkuaiyun.com/weixin_39622587/article/details/113458448(1)非主键最大长度15936(2)主键最大长度768--旧上限191--联合索引共用768上限(所有字段加起来最大768)...原创 2021-02-07 11:37:14 · 266 阅读 · 0 评论 -
plsql dev 查询内容的中文,正常;报错信息的中文,乱码
(1)运行sqlselect * from nls_database_parameterslanguage_territory.charset1_2.3AMERICAN_AMERICA.AL32UTF8(2)设置环境变量的NLS_LANG 为AMERICAN_AMERICA.AL32UTF8原创 2020-11-02 15:45:34 · 482 阅读 · 0 评论 -
navicat 建表时默认加双引号的问题
建表时,将名称(表名、字段名)写成大写,就不会自动双引号了。原创 2020-09-26 21:52:00 · 3826 阅读 · 0 评论 -
win10安装oracle 19c后,配置客户端(navicat12)远程连接
背景:下载了oracle19c的windows安装包,解压在C:\a_file\WINDOWS.X64_193000_db_home,运行目录里的setup.exe启动安装,oracle目录设在C:\a_software\oracle 。1.启动navicat12进行连接,报ORA-12541:TNS:nolistener错误是listener.ora文件没配置的问题,接下来进行配置:(1)文件在哪?文件在解压文件夹(C:\a_file\WINDOWS.X64_193000_db_h..原创 2020-08-08 14:16:01 · 6580 阅读 · 1 评论 -
windows通过mysql installer安装mysql8.0后,免密登录修改root密码
背景:我在win10下,通过mysql installer安装mysql server,版本8.0。一路下一步,安完也完了,不知道密码。修改root密码步骤:1.关闭正在运行的mysql服务(1)mysql installer 可以安装一个 mysql notifier,用来开关mysql服务也挺好用的。2.打开命令行(我用的是管理员模式),进入mysql安装目录的bin目录,运行./mysqld --defaults-file="C:\ProgramData\MySQL..原创 2020-08-05 02:17:43 · 1197 阅读 · 0 评论 -
oracle将逗号分割的字符串转换成table类型
(1)分隔字符串// p_str 是要分隔的字符串,如:'1,2,3,4,5'select regexp_substr(p_str,'[^,]+', 1, level) as part_str from dualconnect by regexp_substr(p_str,'[^,]+', 1, level) is not null (2)依次获取每行的数据// c_pos不用提前定义,c_pos这个名字也可以随意换。for c_pos in( select * from 表原创 2020-07-30 16:45:50 · 1240 阅读 · 0 评论 -
oracle复制mysql数据库,用了uid作为列名,修改列名
情景:使用 Navicat Premium 12 复制mysql的表到oracle,字段名使用了oracle的关键字,如:uid问题:在oracle的plsql中,改不了这个字段名,也查不了。用 "uid" 这种方法访问也无效。解决:用Navicat Premium 12 来改字段名。...原创 2020-07-24 10:53:35 · 454 阅读 · 0 评论 -
oracle分页为什么要给rownum列取别名
通常的oracle分页为三层查询:1.第一层查需要的数据。2.第二层控制数据上限。3.第三层控制数据下限。其中,第二层为rownum<上限,第三层为rn(rownum别名列)>下限。(1)为什么要给rownum列取别名呢?因为rownum列在where中直接 rownum>下限,基本会出错(查不到数据)(2)为什么第二三层不合并呢?因为where中不...原创 2019-11-14 22:48:14 · 1034 阅读 · 0 评论 -
oracle表 分组,并查每组第一条
(用到3个地方:分组列、组内排序列、表名)oracle:SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY 分组列 ORDER BY 组内排序列 DESC) rn FROM 表名) t WHERE rn = 1mysql:第一种:先排序,再分组。SELECT * FRO...原创 2019-11-05 20:51:36 · 10998 阅读 · 0 评论 -
为什么sql的参数化查询能够防止sql注入
听闻:(1)参数化查询并不是拼接字符串,而是将sql模板和参数这两部分,分开提交给数据库,由数据库处理。(2)数据库对sql模板,进行分析处理。(影响很大,接近全部)(3)数据库对参数,只作为值类型的值来进行比较,不进行分析处理。(值的结果会影响索引,但不会改变执行计划的本意)sql注入是,参数提供了额外的运行逻辑,不解析参数,就安全了。...原创 2019-11-05 20:10:55 · 854 阅读 · 0 评论