共 466 篇文章

标签:何在 第33页

五入SQL Server不做四舍五入:保护精确性之道(sqlserver不四舍)

五入SQL Server不做四舍五入:保护精确性之道 在SQL Sever数据库中,如何确保数据的精确性是经常被提起的热点问题。SQL Sever不具备四舍五入的功能,如何在保证精确性的前提下,准确处理浮点类型数据成为重要的问题。这里先为大家介绍一下四舍五入法,然后再介绍在SQL Server中将数据精确处理的方法。 四舍五入法是一种算术计算法,它是将一个不准确的数字根据更接近它的数字,四舍五入的方法即将不准确的数字四舍五入成更准确的数字,其规则是数字小于等于5时,就进行舍去;数字大于等于5时,就进行入。 从而在SQL Sever中处理精确数据,需要使用一个函数,究竟是什么函数呢?这里,我们使用ROUND函数进行处理。ROUND函数可用于保留指定小数位数的浮点数,它有以下三个参数: 第一个参数:要进行四舍五入的数字 第二个参数:想要保留的小数位数 第三个参数:0代表四舍五入,1代表进位 下面的例子演示了如何使用ROUND函数,以控制浮点类型数据的精确度: SELECT ROUND(2.674,2,0) –输出结果为:2.67 通过这个例子,你可以看出,可以通过ROUND函数,将浮点类型的数据保留2位小数位,对数据进行精确处理。 总结:SQL Server数据库中,不具备四舍五入功能,可以使用ROUND函数,设置参数进行浮点数据的精确处理,以确保数据的精确性。

技术分享

如何使用MSSQL实现交叉分析表(mssql 交叉分析表)

交叉分析表(cross tab)又称为界定表,可以用于描述某一变量如何在不同分类下分布。本文将讲解如何在MSSQL中实现交叉分析表。 步骤一:准备数据 首先,我们需要准备计算交叉分析表的数据。如果需要计算性别与年龄对对产品销售的影响,需要准备{用户,性别,年龄,购买数量}的数据表。 步骤二:查询构造 我们需要使用MSSQL中的PIVOT/UNPIVOT函数构造查询语句,用于实现将原始数据表中的列(比如性别,年龄)变换为行,以实现交叉分析表中所需要的表示。 以上述性别与年龄对对产品销售的影响为例,我们可以使用如下MSSQL查询构造交叉分析表: “`sql select [gender], [age1], [age2], [age3], [age4], [age5] from (select gender, age, sales from tableA) as source pivot (sum(sales) for age in ([age1], [age2], [age3], [age4], [age5])) as pvt 上述查询语句的结果如下:![交叉分析表](cross_tab.png)本文介绍了如何使用MSSQL实现交叉分析表。通过结合pivot/unpivot函数,我们可以快速构造出所需要的交叉分析表,进而准确分析不同分类下的数据分布。

技术分享

Linux下查看进程信息:使用PS命令(linux查看进程ps)

Linux是一款优秀的操作系统,文件及进程管理也十分方便。本文给大家介绍如何在Linux下查看进程信息:使用PS命令。 要在Linux下查看进程信息,首先你需要使用PS命令。PS命令是Linux的一个常用命令,它可以用来获取系统上当前运行的进程的详细信息。PS命令的用法如下: $ ps 此命令可以显示出当前系统运行的进程的简要信息,包括进程的ID,正在运行的用户,正在执行的命令等,如下图所示: ![image](https://upload-images.jianshu.io/upload_images/5000250-22ee70ef2562b8de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我们知道,除了了解当前系统运行的进程,同时我们也需要了解某一进程的更多信息,比如该进程正在运行的程序名称和执行函数等。这时,我们可以使用选项-f和-l来查看更加详细的进程信息: $ ps -f -l 此命令可以显示出该进程的更多的信息,如下图所示: ![image](https://upload-images.jianshu.io/upload_images/5000250-cdd6835741c41256.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 从上图可以看出,这里我们可以知道该进程的正在执行的命令,正在运行的程序名称,如果该进程被suspend,还会显示process state等等详细信息。 至此,我们就完成了如何在Linux下查看进程信息的介绍,使用PS命令可以方便的查看当前系统,运行的进程和进程信息,是一个非常有用的命令。

技术分享

如何在Oracle中计算周数(oracle中如何算周数)

如何在Oracle中计算周数 在Oracle数据库中,计算周数是一个非常常见的需求,特别是在与日期相关的任务中。例如,许多公司需要根据周数来统计其业务活动。在本文中,我们将介绍如何在Oracle中计算周数的方法。 技术准备 在学习如何计算周数之前,我们需要理解Oracle数据库中与日期相关的一些基本知识。数据库表中的日期通常以普通的日期格式存储,例如YYYY-MM-DD。为了计算周数,我们将使用不同的日期函数和算法。 计算当前日期所在的周数 我们可以使用以下SQL语句来计算当前日期所在的周数: SELECT TO_CHAR(SYSDATE, ‘WW’) AS Week_Number FROM DUAL; 这将返回值为1到53之间的数字,表示当前日期所在的周数。请注意,该函数的基准日期是元旦,因此它可以在一年的第一周结束之前将一些日期标记为该年的最后一周,或将一些日期标记为该年的第一周。 计算指定日期所在的周数 我们还可以使用以下SQL语句来计算指定日期所在的周数: SELECT TO_CHAR(TO_DATE(‘2019-09-25’, ‘YYYY-MM-DD’),’WW’) AS Week_Number FROM DUAL; 这将返回值为1到53之间的数字,表示指定日期所在的周数。 使用PL/SQL函数计算周数 如果我们需要在应用程序中经常计算周数,我们可以使用PL/SQL函数来自定义计算算法。以下是一个在Oracle中计算周数的PL/SQL函数示例: CREATE OR REPLACE FUNCTION GET_WEEK_NUMBER (p_date IN DATE) RETURN NUMBER IS v_year_start_date DATE; BEGIN — Get the date of the first day of the year v_year_start_date := TRUNC(p_date, ‘YYYY’); — Calculate the number of days between the first day of the year and the input date RETURN (TRUNC(p_date) – v_year_start_date) / 7 + 1; END; 使用这个函数,我们可以轻松地计算任何给定日期所在的周数。例如: SELECT GET_WEEK_NUMBER(TO_DATE(‘2019-09-25’, ‘YYYY-MM-DD’)) AS Week_Number FROM DUAL; 这将返回值为1到53之间的数字,表示该日期所在的周数。 结论 在Oracle中计算周数是一项非常常见的任务。使用内置函数,我们可以轻松地计算当前日期所在的周数和任何给定日期所在的周数。另外,我们可以自定义PL/SQL函数来实现定制的算法,以便满足特定的需求。通过这篇文章,您已经了解了如何使用这些技术来计算周数。

技术分享

深入解析Oracle PLS类型(oracle pls类型)

Oracle PLS类型,也就是Oracle的过程化语言类型,是Oracle数据库中的一种编程语言类型。它与其他编程语言相比,具有易于编写和可扩展性高等优点。在本文中,我们将深入解析Oracle PLS类型,并介绍如何在Oracle数据库中使用它。 Oracle PLS类型的基本概念 PLS类型是Oracle数据库中的一种编程语言,它与SQL语言类型一起被用来进行Oracle数据库的开发。PLS类型包括存储过程、函数、触发器等。 存储过程是Oracle数据库中最常见的PLS类型,它可以包含SQL语言和PLS语言,可用于执行判断、计算、查询等复杂的业务逻辑。函数与存储过程类似,但它返回一个值,可以嵌套使用。 触发器是一种特殊的存储过程,它可以在数据更改发生时自动触发执行。触发器通常用于验证或更新数据的一致性。 PLS类型的优点 PLS类型具有许多优点。它易于编写和调试。PLS类型的可扩展性高,可以轻松地添加新的功能和特性。此外,PLS类型可以优化代码和数据库连接,提高数据库的性能和可靠性。 如何在Oracle数据库中使用PLS类型 在Oracle数据库中使用PLS类型,需要使用PL/SQL开发环境。PL/SQL是Oracle数据库中的一种编程语言,用于开发和管理PLS类型。在Oracle数据库中,可以使用SQL Developer等工具创建PL/SQL程序。 下面是一个简单的PL/SQL代码示例,用于创建一个存储过程: CREATE PROCEDURE Get_Employee_Info (id IN NUMBER, name OUT VARCHAR2, salary OUT NUMBER) AS BEGIN SELECT employee_name, employee_salary INTO name, salary FROM employee WHERE employee_id = id; END; 在这个存储过程中,我们定义了一个名为Get_Employee_Info的存储过程,其中包含三个参数。id是输入参数,表示要查询的员工编号。name和salary是输出参数,表示查询的结果,即员工姓名和薪水。 我们使用SELECT INTO语句从employee表中检索与所提供的员工编号匹配的行,并将结果分配给输出参数。如果未找到匹配项,则会抛出一个NO_DATA_FOUND异常。 总结 本文深入解析了Oracle PLS类型,并介绍了如何在Oracle数据库中使用PLS类型。PLS类型是Oracle数据库中的重要组成部分,它可以帮助我们编写更高效、更可靠的代码,并提高数据库的性能和可靠性。如果你想深入了解Oracle数据库的开发和管理,那么PLS类型是必不可少的一部分。

技术分享

快盘在Linux中的应用(快盘forlinux)

快盘是一款强大的在线云端存储软件,它利用了云技术来保存、同步和分享文件,在 Linux 系统中应用范围不可估量。 安装快盘在 Linux 系统中很容易,只要按照一些简单的步骤就可以完成快盘的安装,无需多余的技术支持。在下面的教程中,我们将介绍如何在 Debian 及其衍生版系统中安装快盘(包括 Ubuntu、Linux Mint 和其他发行版系统): 首先,你需要下载快盘 Linux 版,可以到快盘官网进行下载,https://www.kuaipan.cn/. 下载后,将快盘保存到 Debian 系统的某个文件夹,比如 “Downloads”。 接下来,使用终端(Terminal)给文件添加可执行属性,输入以下命令: sudo chmod +x .deb 输入上述的指令后,你就可以使用下面的命令来安装快盘: sudo dpkg -i .deb 你会看到大量的信息在屏幕上闪过,这说明快盘安装完成,此时快盘正处于运行状态,应用程序图标也生成在桌面上,现在你就可以使用快盘了。 了解快盘的基本操作:首先,在你第一次打开快盘的时候,你会被要求输入快盘的用户名和密码;登录成功后,你就可以创建或管理自己的快盘文件夹了;在快盘的主界面,你可以将本地的文件上传到快盘,或者将快盘中的文件下载到本地;最后,你还可以使用快盘来共享文件,将任意文件或文件夹发送给其他人。 快盘在 Linux 系统中是一个非常有用的软件,可以方便地帮助我们在家、公司和其他地方对文件进行多层级、多终端的调用、存储和分享,从而最大限度地提高了数据的安全性和便利性。

技术分享

如何在Linux中为固定硬盘分配唯一的驱动器号?(linux固定盘符)

在Linux中为固定硬盘分配唯一的驱动器号是一个很有用的操作,可以方便用户对硬盘进行信息识别和定位。本文将介绍如何在Linux中为固定硬盘分配唯一的驱动器号。 首先,用户需要检查要分配的硬盘的信息。这可以通过使用“lsscsi”命令来完成,如下所示: [root@localhost]# lsscsi[0:0:0:0] disk VMware, Virtual disk 1.0 /dev/sda[1:0:0:0] disk ATA WDC WD20EZRZ-00L4A0 CC4D /dev/sdb 现在我们已经知道要分配唯一的驱动器号的硬盘是/dev/sdb,然后就可以使用udev来为它分配一个唯一的驱动器号了。 使用以下命令创建一个udev规则,该规则将根据指定的硬盘设备号为该硬盘分配一个唯一的驱动器号: [root@localhost]# vi /etc/udev/rules.d/55-hdd-assigment.rulesKERNEL=="sdb", BUS=="ata", KERNELS=="1:0:0:0",SUBSYSTEMS=="scsi", PROGRAM=="/opt/bin/hdd_devname %k %m %b", NAME="%c" 最后,用户需要重新加载udev规则,以应用新的udev规则,如下所示: [root@localhost]# udevadm control --reload 这样,就可以为指定的硬盘分配一个唯一的驱动器号了。如果用户想检查该规则是否已经应用,可以使用“udevadm info”命令来查看,如下所示: [root@localhost]# udevadm info -a /dev/sdbKERNEL=="sdb"SUBSYSTEM=="scsi"DRIVER=="sd"ATTR{scsi_level}=="6"ATTR{model}=="ATA WDC WD20EZRZ-00L4A0"ATTR{vendor}=="ATA"ATTR{wwid}=="8000cca6327e7119"ATTR{device_blocked}=="0"ATTR{rev}=="CC4D"ATTR{type}=="0" 总之,要在Linux中为固定硬盘分配唯一的驱动器号,用户需要检查要分配的硬盘的信息,然后使用udev来为该硬盘创建一个规则,并重新加载udev规则,以实现为指定的硬盘分配一个唯一的驱动器号。通过以上步骤,用户可以轻松为固定硬盘分配唯一的驱动器号,从而更加方便地进行信息识别和定位。

技术分享

PRU不再无视逃离Oracle的ESC字符(esc字符oracle)

PRU不再无视:逃离Oracle的ESC字符 在Oracle数据库中,ESC字符是一个非常特殊的字符,也经常被称为PRU字符。它通常被用于表示特殊的控制码,包括在打印和显示数据时使用的控制字符,如清除屏幕、移动光标和更新显示。虽然很多用户都有遇到这个字符并有过困扰,但Oracle却一直默认忽略这个字符,直到最近版本的更新中才有了改变。本文将介绍造成这一现象的原因,以及如何在新版本中正确处理ESC字符,避免对数据库造成影响。 造成这种现象的原因是,在Oracle数据库的历史版本中,系统设计时需要与终端设备上的显示器进行通信。因此将ESC字符作为控制字符的一种方便的方式来实现这一目的。然而,随着时间的推移和技术的发展,很少有终端设备再使用ESC字符,而且这种字符也很容易与其他字符混淆,导致误解析和乱码。 为了解决这个问题,Oracle更新了其数据库版本,并开始正确处理ESC字符。Oracle 12c版本和之后的版本开始采用Unicode字符集,并实现了一个新的特殊字符处理机制,称为转换清理程序(transliteration cleanup routines),它可以将不常用的字符和特殊字符转换为常规字符,以避免造成任何影响。这样,即使在以前的版本中,一些特定的字符可能会被忽略,但在新版本中,这种字符处理机制将始终被启用,避免任何可能的问题。 这里有一些示例代码,演示如何在Oracle 12c或更高版本中正确处理ESC字符: SELECT *FROM my_tableWHERE REPLACE(field_name, CHR(27), '') = 'test'; 这个SQL查询将替换字符串中的ESC字符,并搜索目标字符串(field_name)中是否包含“test”字符串。由于在新的转换清理程序中,任何不常用的字符都会被转换为常规字符,因此这样的查询语句将始终返回正确的结果。 另一个示例是在PL/SQL中正确处理ESC字符的代码。在此示例中,我们将使用DBMS_SQL.PARSE和DBMS_SQL.DEFINE_COLUMN函数。这个函数可以将结果集的数据类型定义为VARCHAR2,并将ESC字符自动转换为常规字符。 DECLARE cur_id INTEGER; str VARCHAR2(200);BEGIN cur_id := dbms_sql.open_cursor(); dbms_sql.parse(cur_id, 'SELECT field_name FROM my_table', DBMS_SQL.NATIVE); dbms_sql.define_column(cur_id, 1, str, 200); IF dbms_sql.execute(cur_id) > 0 THEN WHILE dbms_sql.fetch_rows(cur_id) > 0 LOOP DBMS_OUTPUT.PUT_LINE('Result: ' || REPLACE(str, CHR(27), '')); END LOOP; END IF; dbms_sql.close_cursor(cur_id);END; 在这个代码示例中,我们使用了DBMS_SQL.PARSE和DBMS_SQL.DEFINE_COLUMN函数,将字段定义为VARCHAR2类型,并自动转换任何ESC字符为常规字符。最终,我们可以正确地输出结果,而不会出现任何乱码或问题。 如果您使用的是Oracle 12c或更高版本,请注意在处理ESC字符时采用正确的方法,以避免对数据库造成任何影响。虽然这个字符可能已经被忽略多年,但现在是时候对其进行正确的处理了。

技术分享

如何在Linux中创建目录(linux创建目录c)

Linux中创建目录是非常重要的,我们可以利用它来管理文件系统,这样就可以更快地查找和访问需要的文件。本文将介绍如何在Linux中创建目录。 首先,你需要打开Linux终端。在终端中输入“mkdir”命令,接着输入你想要创建的目录的名字。比如,如果你想要创建一个名为“myfolder”的目录,可以输入“mkdir myfolder”命令。 接着,你可以使用“chmod”命令来给新创建的目录添加权限。如果你想要给其他用户允许读取,你可以使用“chmod o+r myfolder”的命令来给新创建的目录添加读取权限。 接着,若要检查新创建的目录是否存在,可以使用“ls -l”命令查看该目录的目录权限。如果新创建的目录出现在列表中,则表明它已成功创建。 最后,你可以使用“rmdir”命令删除新创建的目录。如果要删除新创建的名为“myfolder”的目录,可以使用“rmdir myfolder”命令来实现。请注意,删除目录时,其目录中的任何内容都会被永久删除,所以在删除之前一定要确保里面没有重要的文件。 以上就是如何在Linux中创建目录的详细说明,按照这些步骤,可以轻松快速地创建你想要的目录,而且可以非常有效地管理你服务器上的文件。所以,如果你想要使用Linux,一定要学会在其中创建目录,这样你就可以有效地管理文件系统。

技术分享

Linux GBD:开启新世界的终极操作系统(linuxgbd)

Linux GBD——终极操作系统 Linux GBD,全称GNU Bukkit Desktop,是一款基于Linux内核的终极操作系统。Linux GBD融合了GNU/Linux的流行特性,具备强大的兼容性,可以支持任何你想使用的应用程序。此外,它还具有可靠的安全体系,能够高效地保护用户的隐私安全。 Linux GBD的桌面环境采用KR12核心架构,它包括两个部分:KR11和KR12。KR11是一个完全新的桌面环境,旨在为用户提供简洁、强大、自然的界面。它具有优秀的性能和可用性,支持常见的应用程序。它还支持丰富的插件,能够满足用户的个性化需求。KR12则专为日常电脑使用而设计,提供了更多的细节操作,以及可以任意定制的工具面板,让用户可以轻松地对系统进行定制。 此外,Linux GBD还支持多种开源和商业软件,包括呈现程序、安全软件和游戏引擎。因此,用户可以轻松完成日常任务,更加便捷地使用各种软件。 Linux GBD是一个开放的操作系统,完全免费,并具有涉及专利技术的灵活性。用户可以灵活的对系统进行定制,修改源代码,并创建适合个性需求的应用程序。例如,下面的代码演示了如何在Linux GBD上安装一款GTK2+图形库: # apt-get install libgtk2-dev 同时,Linuix GBD也支持更新,可以让用户轻松安装最新的软件和技术,同时保护系统的安全。 总的来说,Linux GBD是一款非常实用的操作系统,它为用户提供了良好的性能,让用户可以无忧地安装应用程序,体验全新的Linux体验,享受最佳使用体验。

技术分享